leetcode 100
    https://leetcode-cn.com/problems/same-tree/

    1. //DFS
    2. /**
    3. * Definition for a binary tree node.
    4. * public class TreeNode {
    5. * int val;
    6. * TreeNode left;
    7. * TreeNode right;
    8. * TreeNode() {}
    9. * TreeNode(int val) { this.val = val; }
    10. * TreeNode(int val, TreeNode left, TreeNode right) {
    11. * this.val = val;
    12. * this.left = left;
    13. * this.right = right;
    14. * }
    15. * }
    16. */
    17. class Solution {
    18. public boolean isSameTree(TreeNode p, TreeNode q) {
    19. return compare(p, q);
    20. }
    21. public boolean compare(TreeNode p, TreeNode q){
    22. if(p == null && q != null){
    23. return false;
    24. }
    25. else if(p != null && q == null){
    26. return false;
    27. }
    28. else if(p == null && q == null){
    29. return true;
    30. }
    31. else if(p.val != q.val){
    32. return false;
    33. }
    34. boolean left = compare(p.left, q.left);
    35. boolean right = compare(p.right, q.right);
    36. return left & right;
    37. }
    38. }