Created
April 7, 2018 14:32
gist for leetcode 572
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 a binary tree node. | |
* public class TreeNode { | |
* int val; | |
* TreeNode left; | |
* TreeNode right; | |
* TreeNode(int x) { val = x; } | |
* } | |
*/ | |
class Solution { | |
public boolean isSubtree(TreeNode s, TreeNode t) { | |
return traverse(s,t); | |
} | |
private boolean traverse(TreeNode s, TreeNode t) { | |
return s != null && (equal(s,t) || traverse(s.left, t) || traverse(s.right,t)); | |
} | |
private boolean equal(TreeNode sNode, TreeNode tNode) { | |
if(sNode == null && tNode == null) { | |
return true; | |
} | |
else if(sNode == null || tNode == null) { | |
return false; | |
} | |
return sNode.val == tNode.val && equal(sNode.left, tNode.left) && equal(sNode.right, tNode.right); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment