zoukankan      html  css  js  c++  java
  • [leetcode] Binary Tree Upside Down

    思路:递归实现,注意翻转的规律,以左子树作为根,找到左子树最右边的节点作为原有right子树和根的父节点。

    class Solution {
        public TreeNode upsideDownBinaryTree(TreeNode root) {
            if (root ==null || root.left ==null && root.right ==null)
                return root;
            TreeNode left = upsideDownBinaryTree(root.left);
            TreeNode right = upsideDownBinaryTree(root.right);
            TreeNode leftRightest = left;
            while(leftRightest.right != null){
                leftRightest = leftRightest.right;
            }
            leftRightest.left = right;
            leftRightest.right = root;
            root.left = null;
            root.right = null;
            
            return left;
        }
    }
  • 相关阅读:
    PHP PDO
    常用JavaScript字符串方法简述
    命名
    jquery远程班备忘
    html历史
    CSS3的翻转效果
    正则
    排序算法
    firebug的调试,console
    跨域
  • 原文地址:https://www.cnblogs.com/jdflyfly/p/7476353.html
Copyright © 2011-2022 走看看