Created
February 26, 2013 08:55
-
-
Save daifu/5037086 to your computer and use it in GitHub Desktop.
Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Definition for binary tree | |
| * public class TreeNode { | |
| * int val; | |
| * TreeNode left; | |
| * TreeNode right; | |
| * TreeNode(int x) { val = x; } | |
| * } | |
| */ | |
| public class Solution { | |
| public boolean isSameTree(TreeNode p, TreeNode q) { | |
| // Start typing your Java solution below | |
| // DO NOT write main() function | |
| if(p == null && q == null) { | |
| return true; | |
| } else if(p == null || q == null) { | |
| return false; | |
| } | |
| boolean isLeftSame = isSameTree(p.left, q.left); | |
| boolean isRightSame = isSameTree(p.right, q.right); | |
| return p.val==q.val && isLeftSame && isRightSame; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Can check for condition p.val == q.val before comparing left and right subtrees!