相同的樹
給定兩個二叉樹,編寫一個函式來檢驗它們是否相同。
如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。
示例 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 2
[1,2,1], [1,1,2]
輸出: false
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/same-tree
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
遞迴解決問題:
從根節點開始判斷每一個樹的左右節點是否相同,遍歷到根節點。遞迴的終止條件有當兩個數同時為空返回true,一棵樹為空時返回false。
/**
- Definition for a binary tree node.
- struct TreeNode {
-
int val;
-
TreeNode *left;
-
TreeNode *right;
-
TreeNode() : val(0), left(nullptr), right(nullptr) {}
-
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
-
TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
- };
*/
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if(p==nullptr&&q==nullptr) return true;
else if(p==nullptr) return false;
else if(q==nullptr) return false;
else{
if(p->val==q->val)
{
return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}
else {
return false;
}
}
}
};
相關文章
- LeetCode 100——相同的樹LeetCode
- leetcode 100.相同的樹 JavaLeetCodeJava
- Leetcode-572: 另一個樹的子樹( leetcode100:相同的樹 )LeetCode
- 力扣刷題:100. 相同的樹力扣
- 相同二叉樹和鏡面二叉樹問題二叉樹
- 【leetcode 簡單】第二十一題 相同的樹LeetCode
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- Hashcode相同但是equals不同的例子
- JavaScript 比較相同的字元返回falseJavaScript字元False
- 兩個相同路徑、不同包、相同名稱類載入
- 廠家科普相同感值以及相同封裝尺寸的工字遮蔽電感能通用嗎 gujing封裝
- 找出倆個字串的相同並刪除字串
- vue和react的相同點和不同點VueReact
- 關於所有馬的顏色都相同
- GridView列相同合併View
- mysql相同數值排序MySql排序
- 相同 App 同步迭代中的測試問題APP
- el-table合併相同資料的行
- Excel查詢兩列資料相同的元素Excel
- el-table 合併相同資料的列
- 如何新增javascript陣列n乘以相同的元素JavaScript陣列
- 刪除a表中和b表相同的資料
- 【碼藝雜談】Java中的相同與不同Java
- matlab——統計相同元素出現的次數Matlab
- Python 中 eval 與 exec 的相同點和不同點Python
- 使用 Python 標記具有相同名稱的條目Python
- 研究:人們喜歡重複吃相同的早餐
- elementui——表格的相同內容單元格合併UI
- 合併陣列物件中相同的屬性值陣列物件
- excel相同名稱數量相加彙總 excel相同名稱自動合併求和Excel
- 樹的學習——樹的儲存結構
- 往物件陣列裡面新增相同的key 不同的value物件陣列
- jQuery獲取class相同的div中的最後一個jQuery
- 不同規模的企業對CRM的需求是否相同?
- JavaScript合併表格中的內容相同的單元格JavaScript
- 列表中,相同id分一組
- 比較兩個table是否相同
- C語言學習 相同元素C語言