首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >难以理解为什么在尝试倒置二叉树时必须创建新的临时TreeNode

难以理解为什么在尝试倒置二叉树时必须创建新的临时TreeNode
EN

Stack Overflow用户
提问于 2016-12-22 03:39:03
回答 0查看 49关注 0票数 1
代码语言:javascript
代码运行次数:0
运行
复制
public class Solution {
        public TreeNode invertTree(TreeNode root) {
        if(root == null) return null;
            TreeNode tmp = root.left;
            root.left = invertTree(root.right);
            root.right = invertTree(tmp);
            return root;
        }
}

我不明白为什么上面的解决方案可行,但下面的解决方案不行。

代码语言:javascript
代码运行次数:0
运行
复制
public class Solution {
        public TreeNode invertTree(TreeNode root) {
        if(root == null) return null;
            root.left = invertTree(root.right);
            root.right = invertTree(root.left);
            return root;
        }
}

有人能详细解释一下为什么要有一个临时的TreeNode才能让程序正常工作吗?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41270660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档