创作目的:为了方便自己后续复习重点,以及养成写博客的习惯。
一、翻转二叉树
ledcode题目:https://leetcode.cn/problems/invert-binary-tree/
AC代码:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
struct TreeNode* invertTree(struct TreeNode* root) {
if(root == NULL){
return NULL;
}
struct TreeNode* left = invertTree(root->left);
struct TreeNode* right = invertTree(root->right);
root->left = right;
root->right = left;
return root;
}
二、对称二叉树
lecode题目:https://leetcode.cn/problems/symmetric-tree/description/
AC代码:
/**
* 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){
return false;
}
return isSameTree(p->left,q->right) && isSameTree(p->right,q->left);
}
bool isSymmetric(struct TreeNode* root) {
if(root == NULL){
return true;
}
return isSameTree(root->left,root->right);
}
全篇后记:
采用的均为递归方法,今日的题目较为简单,进展比较顺利。最近由于项目工作压力大, 在有限的时间内将题目能够参考着题解进行AC也算有所收获。