a***e 发帖数: 413 | 1 这道题的iterative解法比较好懂,但看到下面这个recursive的就觉得想不清楚了。一
直对树的recursion挺糊涂的。怎么才能搞清楚呢?多谢!
class Solution {
public:
void flatten(TreeNode *root) {
helper(root, NULL);
}
TreeNode *helper(TreeNode *root, TreeNode *tail){
if (NULL==root) return tail;
root->right = helper(root->left, helper(root->right, tail));
root->left = NULL;
return root;
}
}; |