100. Same Tree
Given two binary trees, write a function to check if they are the same or not.
Two binary trees are considered the same if they are structurally identical and the nodes have the same value.
Example 1: Input:11 / \/ \ 2323 [1,2,3],[1,2,3] Output: true Example 2: Input:11 /\ 22 [1,2],[1,null,2] Output: false Example 3: Input:11 / \/ \ 2112 [1,2,1],[1,1,2] Output: false
難度:easy
題目:
給定兩二叉樹,寫函式檢查它們是否相同。
兩個二叉樹是否相同是由其結構和值都相同來決定。
思路:遞迴
/** * Definition for a binary tree node. * public class TreeNode { *int val; *TreeNode left; *TreeNode right; *TreeNode(int x) { val = x; } * } */ class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if (null == p && null != q || null != p && null == q) { return false; } if (null == p && null == q) { return true; } if (p.val != q.val) { return false; } return isSameTree(p.left, q.left) && isSameTree(p.right, q.right); } }