For example, this binary tree
[1,2,2,3,4,4,3]
is symmetric:
1 / \ 2 2 / \ / \ 3 4 4 3But the following
[1,2,2,null,3,null,3]
is not:1 / \ 2 2 \ \ 3 3
簡單來說,判斷是否為對稱樹
程式碼
class Solution { public: bool isSymmetric(TreeNode* root) { if (root == NULL) return true; return isSymc(root->left, root->right); } bool isSymc(TreeNode* left, TreeNode* right) { if (left == nullptr) { return right == nullptr; } if (right == nullptr) { return left == nullptr; } if (left->val != right->val) { return false; } // 檢查是否對稱 if (!isSymc(left->right, right->left)) { return false; } if (!isSymc(left->left, right->right)) { return false; } return true; } };
沒有留言 :
張貼留言