aboutsummaryrefslogtreecommitdiff
path: root/flatten_binary_to_linked.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flatten_binary_to_linked.cpp')
-rw-r--r--flatten_binary_to_linked.cpp21
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;
+ }
+};