Same Tree

題目:

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.

思路:

遞歸解決,根節點及左右子樹遞歸下去都要相等,只要有一個不等顯然就不等,所以用&&運算符連接,還有注意兩者都爲null返回true,一個null一個不爲null返回false,代碼如下:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if(p == null && q == null) {
            return true;
        } else {
            if(p == null || q == null) {
                return false;
            } else {
                return p.val == q.val && isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
            }
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章