`
songlj
  • 浏览: 15965 次
社区版块
存档分类
最新评论

Invert Binary Tree

 
阅读更多


解题思路:利用中序遍历的方式,依次交换所遍历节点的左右子树。

Java 代码实现:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root==null) return root;
        Stack stack=new Stack();
        TreeNode p=new TreeNode(0);
        stack.push(root);
        p=root;
        while(p.left!=null){
            p=p.left;
            stack.push(p);
        }
        while(!stack.isEmpty()){
            TreeNode q=(TreeNode)stack.pop();
            TreeNode temp=new TreeNode(0);;    
            temp=q.left;
            q.left=q.right;
            q.right=temp;
            while(q.left!=null){
                stack.push(q.left);
                q=q.left;
            }
        }
        return root;
    }
}
原题题目:https://leetcode.com/problems/invert-binary-tree/


版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    cpp-算法精粹

    Invert Binary Tree Binary Search Tree Iterator Binary Tree Zigzag Level Order Traversal Recover Binary Search Tree Same Tree Symmetric Tree Balanced Binary Tree Flatten Binary Tree to Linked List ...

    Leetcode的ac是什么意思-LeetCodeInJava:leetcode-java

    Invert Binary Tree #237 Delete Node in a Linked List #238 Product of Array Except Self #242 Valid Anagram #258 Add Digits #260 Single Number III #274 H-Index #283 Move Zeroes #292 Nim Game #318 ...

    leetcode338-MyLeetCode:我对LeetCode问题的解答

    第 338 章力码 王一飞的LeetCode题解 ...(./solutions/InvertBinaryTree.cc) | 第283话| [MoveZeros.cc] (./solutions/MoveZeros.cc) | 第349话| [IntersectionOfTwoArrays.cc] (./solutions/IntersectionOfTwoArray

    LeetCode去除数组重复元素-Arithmetic-Swift:一些算法的swift实现

    LeetCode去除数组重复元素 Arithmetic-Swift ...Invert Binary Tree 两数相加 258. Add Digits 二叉树最深 104. Maximum Depth of Binary Tree 【递归】 遍历求单个数字 136. Single Number 石头游戏 292. Nim Gam

    lrucacheleetcode-LeetCode:LeetCode刷题

    翻转二叉树(Invert Binary Tree) 2018.9.25 环形链表(Linked List Cycle) 2018.9.25 环形链表 II(Linked List Cycle II) 2018.9.26 删除排序链表中的重复元素 II(Remove Duplicates from Sorted List II) ...

    LeetCode最全代码

    * [Binary Search Tree](https://github.com/kamyu104/LeetCode#binary-search-tree) * [Breadth-First Search](https://github.com/kamyu104/LeetCode#breadth-first-search) * [Depth-First Search]...

    leetcodetreenode-invert-binary-tree:反转二叉树

    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 ...

    JavaScriptAlgorithms:来自leetcode.com的算法在javascript上完成

    纯JavaScript上的算法来自算法在javascript上完成| 二叉树| | BinaryTreeLevelOrderTraversal.js | | BinaryTreeRightSideView.js | | ConvertSortedArrayToBinarySearchTree.js | | InvertBinaryTree.js | | ...

    leetcode卡-Leetcode-solutions:LeetCodeDS日常挑战的解决方案

    leetcode卡Leetcode-解决方案 LeetCode DS 日常挑战的解决方案 问题陈述 1.InvertBinaryTree - 2.子序列- 3.SearchInsertPosition - 4.SortColors - 5.单号——

    leetcodetreenode-leetcode-226-Invert-Binary-Tree:leetcode-226-Invert-二叉

    leetcode 树节点leetcode 226 - 反转二叉树 方法一:递归 C# public TreeNode InvertTree ( TreeNode root ) { if ( root == null ) return root ; var temp = root . left ; root . left = root ....

    2sumleetcode-LeetCode:力码

    2sum leetcode 轮廓 1_count_and_say.cpp - super_ugly_number.cpp ...invert_Binary_Tree.cpp - 对称树.cpp - BST_Or_Not.cpp - level_order_traversal.cpp - exponentiation_by_squaring.cpp - Maximum_Depth_B

    LeetCode:LeetCode解决方案

    LeetCode LeetCode解决方案2020-12-06添加树问题助手Q0226_Invert_Binary_Tree.py中添加了三个助手从列表构建树: buildTree(vals: list)-> TreeNode 按顺序打印遍历树: printTreeInorder(root: TreeNode) 使用BFS...

    VB编程资源大全(英文源码 控件)

    <END><br>46,FldrView.zip The Folderview ActiveX Control mimics the behaviour of the Windows Explorer Treeview showing the tree structure of the files and folders and other items in the shell's ...

Global site tag (gtag.js) - Google Analytics