LeetCode-剑指 Offer 28. 对称的二叉树
生活随笔
收集整理的這篇文章主要介紹了
LeetCode-剑指 Offer 28. 对称的二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
劍指 Offer 28. 對稱的二叉樹
對稱二叉樹定義:對于樹中任意兩個對稱節點L和R,一定有:
- L.val == R.val:這兩個對稱節點值相等
- L.left.val == R.right.val:即L的左子節點和R的右子節點對稱;
- L.right.val == R.left.val:即L的右子節點和R的左子節點對稱
接下來遞歸處理:
特例:若根節點root為空,則直接返回true
返回值:即 recur(root.left, root.right)
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:bool recur(TreeNode* L,TreeNode* R){if(L==nullptr&&R==nullptr) return true;if(L==nullptr||R==nullptr||L->val!=R->val) return false; //確定終止條件bool res = recur(L->left,R->right)&&recur(L->right,R->left);return res;}bool isSymmetric(TreeNode* root) {if(root==nullptr) return true;return recur(root->left,root->right);} };總結
以上是生活随笔為你收集整理的LeetCode-剑指 Offer 28. 对称的二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode-剑指 Offer 13
- 下一篇: LeetCode-剑指 Offer 21