美文网首页
Invert Binary Tree(Easy)

Invert Binary Tree(Easy)

作者: 海生2018 | 来源:发表于2019-11-27 15:48 被阅读0次

    Invert a binary tree.

    Example:

    Input:

         4
       /   \
      2     7
     / \   / \
    1   3 6   9
    

    Output:

        4
       /   \
      7     2
     / \   / \
    9   6 3   1
    

    Trivia:
    This problem was inspired by [this original tweet] by [Max Howell]

    Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so f*** off.


    Solution

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        public TreeNode invertTree(TreeNode root) {
            if(root==null) return root;;
            TreeNode tmp=root.right;
            root.right=root.left;
            root.left=tmp;
            invertTree(root.left);
            invertTree(root.right);
            return root;
        }
    }
    

    时间O(n)
    空间O(h)

    和二叉树的镜像有一拼,不过这个更简单,就是从上往下换左右节点,没了

    相关文章

      网友评论

          本文标题:Invert Binary Tree(Easy)

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