Flatten Binary Tree to Linked List Posted on 2018-09-28 Descriptionhttps://leetcode.com/problems/flatten-binary-tree-to-linked-list/description/ Solution123456789101112131415161718192021222324252627282930/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: void flatten(TreeNode* root) { if (root == NULL) return; this->transform(root); } TreeNode* transform(TreeNode* root) { TreeNode* temp = root->right; TreeNode* current = root; if (root->left != NULL) { root->right = root->left; current = this->transform(root->left); current->left = NULL; root->left = NULL; current->right = temp; } if (temp == NULL) return current; current = this->transform(temp); return current; }};