Redian新闻
>
Flatten Binary Tree to Linked List的recursive解法
avatar
Flatten Binary Tree to Linked List的recursive解法# JobHunting - 待字闺中
a*e
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;
}
};
avatar
a*e
3
这个是iterative的解法 , 不用stack可以更简洁
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。