生活随笔
收集整理的這篇文章主要介紹了
二叉树题目----2 检查两颗树是否相同 和 对称二叉树的判定
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
檢查兩顆樹是否相同
思路
根要相等 p->val == q->val左子樹相等 isSameTree(p->left,q->left)右子樹也要相等 isSameTree(p->right,q->right)
bool
isSameTree(struct TreeNode
* p
, struct TreeNode
* q
){if(p
== NULL && q
== NULL){return true
;}if(p
== NULL || q
==NULL){return false
;}return p
->val
== q
->val
&& isSameTree(p
->left
,q
->left
)&& isSameTree(p
->right
,q
->right
);}
對稱二叉樹
silu
根 p->val == q->val左子樹 isMirror(p->left , q->right)右子樹 isMirror(p->right,q->left)
bool
isMirror(struct TreeNode
*p
,struct TreeNode
*q
){if(p
== NULL && q
== NULL){return true
;}if(p
== NULL || q
== NULL){return false
;}return p
->val
== q
->val
&& isMirror(p
->left
,q
->right
)&& isMirror(p
->right
,q
->left
);
}bool
isSymmetric(struct TreeNode
* root
){if(root
== NULL){ return true
;}return isMirror(root
->left
,root
->right
);
}
總結
以上是生活随笔為你收集整理的二叉树题目----2 检查两颗树是否相同 和 对称二叉树的判定的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。