zoukankan      html  css  js  c++  java
  • 226 Invert Binary Tree

    nvert a binary tree.

         4
       /   
      2     7
     /    / 
    1   3 6   9

    to

         4
       /   
      7     2
     /    / 
    9   6 3   1
    题目含义:左右交换二叉树的节点值
    方法一:DFS
    1     public TreeNode invertTree(TreeNode root) {
    2         if(root==null){
    3             return null;
    4         }
    5         TreeNode newNode = new TreeNode(root.val);
    6         newNode.left = invertTree(root.right);
    7         newNode.right = invertTree(root.left);
    8         return newNode;        
    9     }

    方法二:BfS

     1     public TreeNode invertTree(TreeNode root) {
     2         if(root==null)return null;
     3         final Queue<TreeNode> queue = new LinkedList<>();
     4         queue.offer(root);
     5         while(!queue.isEmpty()) {
     6             final TreeNode node = queue.poll();
     7             final TreeNode left = node.left;
     8             node.left = node.right;
     9             node.right = left;
    10             if(node.left != null) queue.offer(node.left);
    11             if(node.right != null) queue.offer(node.right);
    12         }
    13         return root;
    14     }
  • 相关阅读:
    寒假学习10
    寒假学习9
    寒假学习8
    寒假学期7
    寒假学习6
    寒假学习5
    寒假学习4
    Notification通知栏的使用
    Service的使用
    BroadcastReceive的使用
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7710683.html
Copyright © 2011-2022 走看看