/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int x) { val = x; } * } */ public class Solution { public bool IsSameTree(TreeNode p, TreeNode q) { CompareTree(p, q); return _same; } private bool _same = true; private void CompareTree(TreeNode p , TreeNode q) { if(!_same){ return; } if(p == null && q == null){ return ; } if(p == null && q != null || q == null && p != null || p.val != q.val){ _same = false; return; } CompareTree(p.left, q.left); CompareTree(p.right, q.right); } }