給你兩棵二叉樹的根節點示例 1:p
和q
,編寫乙個函式來檢驗這兩棵樹是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。
輸入:p = [1,2,3], q = [1,2,3]
輸出:true
示例 2:
輸入:p = [1,2], q = [1,null,2]
輸出:false
示例 3:
輸入:p = [1,2,1], q = [1,1,2]
輸出:false
思路:遞迴。詳細解釋看**中注釋。
/**
* definition for a binary tree node.
* public class treenode
* treenode(int val)
* treenode(int val, treenode left, treenode right)
* }*/class
solution
else
}// 判斷值是否相等,不相等返回false,相等繼續往下判斷。
int valp = p.val;
int valq = q.val;
if(valp != valq)
// 判斷left節點是否相等,不相等返回false,相等繼續往下判斷。
treenode leftp = p.left;
treenode leftq = q.left;if(
!issametree
(leftp,leftq)
)// 判斷right節點是否相等,不相等返回false。
treenode rightp = p.right;
treenode rightq = q.right;if(
!issametree
(rightp,rightq)
)// 前面都是相等的,返回true即可。
return
true;}
}
每日一道演算法題 相同的樹
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true 示例 2 輸入 1 1 2 2 1,2 1,null,2 輸出 false 示例 3 輸入 1 1 2 1...
演算法探索 相同的樹
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true 示例 2 輸入 1 1 2 2 1,2 1,null,2 輸出 false 示例 3 輸入 1 1 2 1...
演算法小練 相同的樹
title 演算法小練 相同的樹 categories 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true 示例 2 輸入 1 1 2 2 1,2 1,nul...