题目链接:LeeCode101对称二叉树
题目描述:
按着非递归的思想正常遍历一遍,一个向右一个向左,不同就返回false
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public static boolean isSymmetric(TreeNode root) {
Stack<TreeNode> nodes=new Stack<>();
Stack<TreeNode> nodes1=new Stack<>();
TreeNode node=root;
TreeNode node1=root;
while (!nodes.isEmpty() || node != null) {
if(node!=null&&node1==null){
return false;
}
if(node1!=null&&node==null){
return false;
}
if (node != null && node1 != null&&node.val!=node1.val) {
return false;
}
if(node!=null&&node1!=null){
if (node.val != node1.val) {
return false;
}
nodes.push(node);
nodes1.push(node1);
node=node.left;
node1=node1.right;
}else{
node=nodes.pop();
node1=nodes1.pop();
node=node.right;
node1=node1.left;
}
}
return true;
}
}