leetcode100題 題解 翻譯 C語言版 Python版
100. 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.
100.相同的樹
給定兩棵二叉樹,寫一個函式來檢查他們是否相等
這裡說的兩棵二叉樹相等是指他們結構完全相同並且對應的結點有相同的值。
思路:用遞迴可快速解決問題。當比較兩棵樹的對應兩個結點時,如果他們的左子樹完全一樣,右子樹完全一樣,同時這兩個結點的值也一樣,那麼就可以得到兩個結點帶領的樹是完全一樣的了。由於存在一些結點有左子樹卻右子樹為空,或有右子樹卻左子樹為空,這樣在呼叫函式本身時會把NULL作為引數傳下去,所以遞迴的終點應該是比較的兩個結點指標值為空。如果兩個都是空,那就視為相同,返回true。而一個為空另一個不為空就視為不同,返回false,不用往下遞迴了。
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
if (p == NULL && q == NULL) return true;
if (p == NULL || q == NULL) return false;
if (p->val==q->val && isSameTree(p->left, q->left) && isSameTree(p->right, q->right))
return true;
else
return false;
}
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def isSameTree(self, p, q):
"""
:type p: TreeNode
:type q: TreeNode
:rtype: bool
"""
if p == None and q == None: return True
if p == None or q == None: return False
if p.val == q.val and self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right):
return True
else:
return False
相關文章
- C語言編譯器手機版C語言編譯
- [譯]RabbitMQ教程C#版 - 主題MQC#
- Linux下C語言編譯的問題LinuxC語言編譯
- C語言解決排序問題C語言排序
- 1234: 華科版C語言程式設計教程(第二版)習題6.11(約瑟夫問題)C語言程式設計
- 洛谷題單入門1順序結構(C語言版)C語言
- 題解1196:去掉空格 (C語言描述)C語言
- 2002 年考研英語真題 - 翻譯題解析
- C程式設計語言(第2版·新版)練習題1-4C程式程式設計
- C程式設計語言(第2版·新版)練習題1-5C程式程式設計
- C程式設計語言(第2版·新版)練習題1-6C程式程式設計
- C程式設計語言(第2版·新版)練習題1-7C程式程式設計
- C程式設計語言(第2版·新版)練習題1-8C程式程式設計
- 問題 1011: C語言程式設計教程(第三版)課後習題6.1C語言程式設計
- C語言字串例題C語言字串
- python3:爬有道翻譯(命令列版)Python命令列
- mac選單欄語言翻譯工具:Linguist for Mac v3.0啟用版MacNGUI
- C 語言版執行緒池執行緒
- 使用google翻譯 api 翻譯中文成其他語言GoAPI
- [翻譯] Go 語言入門Go
- 源語言、目標語言、翻譯器、編譯器、直譯器編譯
- Mate Translate for Mac(多語言翻譯軟體) v8.1.3中文版Mac
- 題解1197:發工資咯 (C語言描述)C語言
- 影象處理入門 100 題,有人把它翻譯成了中文版!
- 【翻譯】AwesomeAsyncio中文版
- c語言程式設計題C語言程式設計
- 主元素問題(C語言)C語言
- 1097: C語言程式設計教程(第三版)課後習題10.4C語言程式設計
- 15. 三數之和_(c語言版)C語言
- 2022年美賽C題翻譯+思路分享
- 微軟提出新型通用神經機器翻譯方法,挑戰低資源語言翻譯問題微軟
- Python 既是解釋型語言,也是編譯型語言Python編譯
- Android strings.xml 多語言翻譯解決方案AndroidXML
- ARC186A 官方題解-ChatGPT翻譯ChatGPT
- Easy Translator語言翻譯類工具R語言
- Linguist for Mac(語言翻譯軟體)NGUIMac
- 【C語言練習題】小球反彈問題C語言
- HTTPie 官方文件中文翻譯版HTTP
- 16.C語言錯題整理C語言