diff options
Diffstat (limited to 'flatten_binary_to_linked.cpp')
-rw-r--r-- | flatten_binary_to_linked.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/flatten_binary_to_linked.cpp b/flatten_binary_to_linked.cpp new file mode 100644 index 0000000..82751c7 --- /dev/null +++ b/flatten_binary_to_linked.cpp @@ -0,0 +1,21 @@ +#include "leetcode.h" + +class Solution { +public: + void flatten(TreeNode *root) { + if (root) + helper(root); + } + +private: + TreeNode *head = nullptr; + void helper(TreeNode *node) { + if (node->right) + helper(node->right); + if (node->left) + helper(node->left); + node->left = nullptr; + node->right = head; + head = node; + } +}; |