100 Same Tree

来源:互联网 发布:thinkphp3.2项目源码 编辑:程序博客网 时间:2024/06/05 01:00

//队列遍历树,从中找到比较值

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
 public boolean isSameTree(TreeNode p, TreeNode q) {
       if(p!=null&&q!=null){
          Queue<TreeNode> queue1 = new LinkedList<TreeNode>();
          Queue<TreeNode> queue2 = new LinkedList<TreeNode>();
          
          queue1.add(p);
          queue2.add(q);
          while(!queue1.isEmpty()){
          TreeNode node1,node2;
          node1 = queue1.remove();
          node2 = queue2.remove();
          if(node1.val != node2.val){
          return false;
          }
          if(node1.left!=null){
          if(node2.left == null) return false;
          queue1.add(node1.left);
          queue2.add(node2.left);
          
          }
          else if(node2.left !=null){ return false;}
          
          if(node1.right!=null){
          if(node2.right == null) return false;
          queue1.add(node1.right);
          queue2.add(node2.right);
          
          }
          else if(node2.right !=null){ return false;}
          
         
          }
    
           
  return true;
       }
       else if(p==null&&q==null){return true;}
       else return false;
       
       
       
   }
}

0 0
原创粉丝点击