首页 > 其他 > 详细

剑指offer——对称的二叉树

时间:2019-05-17 10:43:51      阅读:125      评论:0      收藏:0      [点我收藏+]

题目链接:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

 

解题思路:

用栈来存储。

 1 /*
 2 public class TreeNode {
 3     int val = 0;
 4     TreeNode left = null;
 5     TreeNode right = null;
 6 
 7     public TreeNode(int val) {
 8         this.val = val;
 9 
10     }
11 
12 }
13 */
14 import java.util.*;
15 public class Solution {
16     boolean isSymmetrical(TreeNode pRoot)
17     {
18         if(pRoot == null) return true;
19         Stack<TreeNode> s = new Stack<>();
20         s.push(pRoot.left);
21         s.push(pRoot.right);
22         while(!s.empty()) {
23             TreeNode right = s.pop();//成对取出
24             TreeNode left = s.pop();
25             if(left == null && right == null) continue;
26             //continue 语句是跳过循环体中剩余的语句而强制执行下一次循环,其作用为结束本次循环,
27             //即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
28             if(left == null || right == null) return false;
29             if(left.val != right.val) return false;
30             //成对插入
31             s.push(left.left);
32             s.push(right.right);
33             s.push(left.right);
34             s.push(right.left);
35         }
36         return true;
37     }
38 }

 

剑指offer——对称的二叉树

原文:https://www.cnblogs.com/wangyufeiaichiyu/p/10879709.html

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