zoukankan      html  css  js  c++  java
  • 剑指offer——对称的二叉树

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

    解题思路:

    用栈来存储。

     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 }
  • 相关阅读:
    ASP.NET控制cookie
    asp.net中Cookie的用法
    乱码问题
    JSP批量删除复选框选中记录
    JSP中根据时间查询
    关于<c:if>没有<c:else>解决方案
    Div
    Apache PIO 操作Excel
    将查询到的数据存到excel并下载
    做一个超链接,打开一个新窗口而保留原来的窗口
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10879709.html
Copyright © 2011-2022 走看看