码迷,mamicode.com
首页 > 其他好文 > 详细

101. Symmetric Tree

时间:2018-04-04 12:29:08      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:blank   roo   efi   ddl   分享图片   sdn   def   boolean   info   

题目如下:

技术分享图片

 

由于对树相关的程序题比较少接触,这一题是直接参考别人答案的,链接如下:

https://blog.csdn.net/crazy1235/article/details/51541984

参考了里头双端队列的实现方法,主要思路是定义两个分别遍历root节点左右子树的节点preNode以及postNode,其中postNode访问preNode的镜面位置,如果值相同就分别节点下的子节点也按镜面的方式分别压进去双端队列的两端,如果不相等,就说明不是对称树。

 

 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 class Solution {
11     public boolean isSymmetric(TreeNode root) {
12         if(root == null){
13             return true;
14         }
15         
16         Deque<TreeNode> deque = new LinkedList<TreeNode>();
17         deque.addFirst(root.left);
18         deque.addLast(root.right);
19         
20         TreeNode preNode = null;
21         TreeNode postNode = null;
22         
23         while(!deque.isEmpty()){
24             preNode = deque.pollFirst();
25             postNode = deque.pollLast();
26             
27             if(preNode == null && postNode == null){
28                 continue;
29             }
30             
31             if(preNode == null || postNode == null){
32                 return false;
33             }
34             
35             if(preNode.val != postNode.val ){
36                 return false;
37             }else{
38                 deque.addFirst(preNode.right);
39                 deque.addFirst(preNode.left);
40                 
41                 deque.addLast(postNode.left);
42                 deque.addLast(postNode.right);
43             }
44         }
45         
46         return true;
47     }
48 }

 

 

 

END

 

101. Symmetric Tree

标签:blank   roo   efi   ddl   分享图片   sdn   def   boolean   info   

原文地址:https://www.cnblogs.com/sssysukww/p/8715683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!