代码随想录第十三天(一刷C语言)|翻转二叉树对称二叉树
创作目的:为了方便自己后续复习重点,以及养成写博客的习惯。
一、翻转二叉树
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也算有所收获。