菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
97
0

Leetcode: Same Tree

原创
05/13 14:22
阅读数 7379

标签:style   blog   class   code   java   tar   

bubuko.com,布布扣
 1 /**
 2  * Definition for binary tree
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     public boolean isSameTree(TreeNode p, TreeNode q) {
12         if(p==null && q==null) return true;
13         if(p==null && q!=null) return false;
14         if(p!=null && q==null) return false;
15         if(p.val != q.val) return false;
16         return isSameTree(p.left, q.left)&&isSameTree(p.right, q.right);
17     }
18 }
bubuko.com,布布扣

 别人的方法:

Solution1: 未研究

bubuko.com,布布扣
 1 public class Solution {
 2     public boolean isSameTree(TreeNode p, TreeNode q) {
 3         // Start typing your Java solution below
 4         // DO NOT write main() function
 5         Queue<TreeNode> tree1 = new LinkedList<TreeNode>();
 6         Queue<TreeNode> tree2 = new LinkedList<TreeNode>();
 7         tree1.offer(p);
 8         tree2.offer(q);
 9 
10         while(tree1.peek()!=null || tree2.peek()!=null){
11             TreeNode t1 = tree1.poll();
12             TreeNode t2 = tree2.poll();
13             if(t1!=null && t2!=null && t1.val == t2.val && ((t1.left==null)==(t2.left==null)) &&((t1.right==null)==(t2.right==null))) {
14                 if(t1.left!=null){
15                     tree1.offer(t1.left);
16                     tree2.offer(t2.left);
17                 }
18                 if(t1.right!=null){
19                     tree1.offer(t1.right);
20                     tree2.offer(t2.right);
21                 }
22             }else
23                 return false;
24         }
25         return true;
26     }
27 }
bubuko.com,布布扣

Solution2: 未研究

bubuko.com,布布扣
 1 public class SameTree {
 2     public boolean isSameTree(TreeNode p, TreeNode q) {
 3         // Start typing your Java solution below
 4         // DO NOT write main() function
 5         if (p == null) {
 6             return q == null;
 7         }
 8         if (q == null) {
 9             return p == null;
10         }
11         if (p.val == q.val) {
12             return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
13         } else {
14             return false;
15         }
16     }
17 
18 }
bubuko.com,布布扣

 

Leetcode: Same Tree,布布扣,bubuko.com

Leetcode: Same Tree

发表评论

0/200
97 点赞
0 评论
收藏