反转二叉树:
/** * 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:TreeNode* invertTree(TreeNode* root) {if(root==NULL)return NULL;if(root->left==NULL && root->right==NULL)return root;TreeNode* tmpNode=root->right;root->right=root->left;root->left=tmpNode;if(root->left){root->left=invertTree(root->left);}if(root->right){root->right=invertTree(root->right);}return root;}};
判断是否是相同二叉树:
/** * 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 isSameTree(TreeNode* p, TreeNode* q) {if(p==NULL && q==NULL)return true;if(p==NULL || q==NULL)return false;if(p->val==q->val){return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);}else{return false;}}};
,和属于我们的风景。一起吃早餐,