算法记录Day 15 | 二叉树 part02
LeetCode 226.翻转二叉树
题目链接:leetcode.cn/problems/in…
题解
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
if (root == nullptr) {
return root;
}
swap(root->left, root->right);
invertTree(root->left);
invertTree(root->right);
return root;
}
};
LeetCode 101. 对称二叉树
题目链接:leetcode.cn/problems/sy…
题解
class Solution {
public:
bool isSymmetric(TreeNode* root) {
if (root == nullptr) {
return true;
}
return helper(root->left, root->right);
}
bool helper(TreeNode* left, TreeNode* right) {
if (left == nullptr && right == nullptr) {
return true;
}
if (left == nullptr || right == nullptr || left->val != right->val) {
return false;
}
return helper(left->left, right->right) &&
helper(left->right, right->left);
}
};