File tree Expand file tree Collapse file tree 2 files changed +22
-16
lines changed
main/java/g0001_0100/s0100_same_tree
test/java/g0001_0100/s0100_same_tree Expand file tree Collapse file tree 2 files changed +22
-16
lines changed Original file line number Diff line number Diff line change 2121 * }
2222 */
2323public class Solution {
24- private boolean trav (TreeNode n , TreeNode m ) {
25- if (n != null && m != null ) {
26- if (n .val != m .val ) {
27- return false ;
28- }
29- return (trav (n .left , m .left ) && trav (n .right , m .right ));
30- } else {
31- return n == null && m == null ;
32- }
33- }
34-
3524 public boolean isSameTree (TreeNode p , TreeNode q ) {
36- if (p == null && q == null ) {
37- return true ;
38- } else if (p == null || q == null ) {
39- return false ;
25+ if (p == null || q == null ) {
26+ return p == null && q == null ;
4027 }
41- return trav (p , q );
28+ boolean b1 = isSameTree (p .left , q .left );
29+ boolean b2 = isSameTree (p .right , q .right );
30+ return p .val == q .val && b1 && b2 ;
4231 }
4332}
Original file line number Diff line number Diff line change @@ -29,4 +29,21 @@ void isSameTree3() {
2929 TreeNode q = TreeUtils .constructBinaryTree (Arrays .asList (1 , 1 , 2 ));
3030 assertThat (new Solution ().isSameTree (p , q ), equalTo (false ));
3131 }
32+
33+ @ Test
34+ void isSameTree4 () {
35+ TreeNode p = TreeUtils .constructBinaryTree (Arrays .asList (1 , 2 , 1 ));
36+ assertThat (new Solution ().isSameTree (p , null ), equalTo (false ));
37+ }
38+
39+ @ Test
40+ void isSameTree5 () {
41+ TreeNode q = TreeUtils .constructBinaryTree (Arrays .asList (1 , 1 , 2 ));
42+ assertThat (new Solution ().isSameTree (null , q ), equalTo (false ));
43+ }
44+
45+ @ Test
46+ void isSameTree6 () {
47+ assertThat (new Solution ().isSameTree (null , null ), equalTo (true ));
48+ }
3249}
You can’t perform that action at this time.
0 commit comments