zoukankan      html  css  js  c++  java
  • 101. Symmetric Tree

    题目如下:

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

    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

  • 相关阅读:
    输入输出重定向
    MarkdownPad 2中编辑
    (转)Maven最佳实践:划分模块
    (转)maven设置内存
    我收集的sonar参考资料
    (转)linux service理解
    制作service服务,shell脚本小例子(来自网络)
    6
    4
    5
  • 原文地址:https://www.cnblogs.com/sssysukww/p/8715683.html
Copyright © 2011-2022 走看看