首页 > 其他 > 详细

LeetCode 226. Invert Binary Tree (反转二叉树)

时间:2017-07-05 00:05:18      阅读:243      评论:0      收藏:0      [点我收藏+]

Invert a binary tree.

     4
   /     2     7
 / \   / 1   3 6   9
to
     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 fuck off.

 


题目标签:Tree

  这道题目给了我们一个二叉树,让我们把它反转一下。对于每一个点,它的左边和右边子树需要对调一下。利用postOrder 来遍历树,当走到最低端的时候,点 == null, 返回null, 对于每一个点,把它的left 和right 互换一下。return 这个点。

 

 

Java Solution:

Runtime beats 27.97% 

完成日期:07/04/2017

关键词:Tree

关键点:把left 和right 互换

 

 

 1 /**
 2  * Definition for a binary tree node.
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution 
11 {
12     public TreeNode invertTree(TreeNode root) 
13     {
14         if(root == null)
15             return null;
16         
17         // continue children
18         invertTree(root.left);
19         invertTree(root.right);
20         
21         // swap left and right
22         TreeNode temp;
23         temp = root.left;
24         root.left = root.right;
25         root.right = temp;
26         
27         return root;
28     }
29 }

参考资料:N/A

 

LeetCode 226. Invert Binary Tree (反转二叉树)

原文:http://www.cnblogs.com/jimmycheng/p/7119053.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!