美文网首页
226. 翻转二叉树

226. 翻转二叉树

作者: 名字是乱打的 | 来源:发表于2021-11-13 14:40 被阅读0次

一题目:

翻转一棵二叉树。
 示例:
 输入:
      4
   /   \
  2     7
 / \   / \
1   3 6   9
 输出:
      4
   /   \
  7     2
 / \   / \
9   6 3   1

备注:
这个问题是受到 Max Howell 的 原问题 启发的 :
谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。
Related Topics 树 深度优先搜索 广度优先搜索 二叉树

二 思路:

一级一级的翻转二叉树,对调关系,把每个结点都当成一个子树

三 代码:

class Solution {
    //一级一级反转
    public TreeNode invertTree(TreeNode root) {
        invert(root);
        return root;
    }

    private void invert(TreeNode root) {
        if (root==null){
            return;
        }
        TreeNode temp=root.left;
        root.left=root.right;
        root.right=temp;
        invert(root.left);
        invert(root.right);
    }
}

轻松击败百分之百的用户~

相关文章

网友评论

      本文标题:226. 翻转二叉树

      本文链接:https://www.haomeiwen.com/subject/wzfzzltx.html