本文主要是介绍翻转二叉树——简单二叉树问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
给你一棵二叉树的根节点 root
,翻转这棵二叉树,并返回其根节点。
示例 1:
输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]
示例 2:
输入:root = [2,1,3] 输出:[2,3,1]
示例 3:
输入:root = [] 输出:[]
思路:利用递归的思想,翻转左子树后替换右子树,翻转右子树后替换左子树
class Solution {
public:bool isSameTree(TreeNode* p, TreeNode* q) {if(p==nullptr&&q==nullptr){return true;}else if(p==nullptr||q==nullptr){return false;}else if(p->val!=q->val) {return false;}else{return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);}}
};
这篇关于翻转二叉树——简单二叉树问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!