首页 > 其他分享 >剑指 Offer 27. 二叉树的镜像(简单)

剑指 Offer 27. 二叉树的镜像(简单)

时间:2023-08-05 12:56:50浏览次数:49  
标签:27 TreeNode cur Offer traversal right 二叉树 root

题目:

class Solution {
public:
void traversal(TreeNode* cur){
if(cur==nullptr) return;
swap(cur->left,cur->right); //从上换到下面就完事了
traversal(cur->left);
traversal(cur->right);
}
TreeNode* mirrorTree(TreeNode* root) {
traversal(root);
return root;
}
};

标签:27,TreeNode,cur,Offer,traversal,right,二叉树,root
From: https://www.cnblogs.com/fly-smart/p/17607799.html

相关文章

  • 剑指 Offer 10- I. 斐波那契数列
    写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项(即F(N))。斐波那契数列的定义如下:F(0)=0,F(1)=1F(N)=F(N-1)+F(N-2),其中N>1.斐波那契数列由0和1开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模1e9+7(1000000007),如计算初始结果为:10......
  • 【剑指Offer】16、合并两个排序的链表
    【剑指Offer】16、合并两个排序的链表题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题思路:首先需要判断几个特殊情况,即判断输入的两个指针是否为空。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空,则直接......
  • 剑指 Offer 04. 二维数组中的查找(中等)
    题目:classSolution{public:boolfindNumberIn2DArray(vector<vector<int>>&matrix,inttarget){inti=matrix.size()-1,j=0;//以矩阵最左下角作为标记符号while(i>=0&&j<matrix[0].size()){i......
  • DFS 算法模板——二叉树的遍历非递归写法要会,排列组合的一定要自己画一颗树,变量i和当
    dfs算法模板:1、下一层仅2个节点的dfs,也就是二叉树的dfs先序遍历,迭代和递归写法都要熟悉:defpreoder_traversal(root):ifnotroot:returnstack=[root]whilestack:node=stack.pop()dosomethingwithnodeifnode.ri......
  • 剑指 Offer 50. 第一个只出现一次的字符(简单)
    题目:classSolution{public:charfirstUniqChar(strings){charresult='';//如果没找到返回空格vector<int>dic(26,0);//创建一个26个字母的字典,记录每个字母在s中出现的次数for(autoss:s){dic[ss-'a']++;......
  • 剑指 Offer 11. 旋转数组的最小数字(简单)
    题目:classSolution{public:intminArray(vector<int>&numbers){intresult=numbers[0];//当旋转0个元素时第一个元素就是最小值if(numbers.size()==1)returnresult;for(inti=1;i<numbers.size();i++){//通过观......
  • 剑指 Offer 17. 打印从1到最大的n位数
    输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数999。示例1:输入:n=1输出:[1,2,3,4,5,6,7,8,9]无脑classSolution{publicint[]printNumbers(intn){intend=(int)Math.pow(10,n)-1;......
  • 计算二叉树的高度/深度
    计算二叉树的高度/深度默认根结点层次为1。如果为空树,高度为0;如果不是空树,树的高度就是左右子树中高度的较大者+1(+1是包含当前层次的高度)。//计算树的高度intTreeHeight(BTNode*root){ if(root==NULL) { return0; } //左右子树中的较大者+1返回 returnTreeHeight......
  • 二叉树的最小深度
    所以,如果左子树为空,右子树不为空,说明最小深度是1+右子树的深度。反之,右子树为空,左子树不为空,最小深度是1+左子树的深度。最后如果左右子树都不为空,返回左右子树深度最小值+1。1intminshendu(Node*node){2if(node==nullptr)return0;3if(node......
  • 求二叉树的最大深度
    此为有返回值的递归问题先确定终止条件(如果一个树为空树,它的高度就是0,我们直接返回0,根本不用递归)写出通式(1+max(左子树的最大深度,右子树的最大深度)规模更小的子问题),将通式写在return里面1intmaxshendu(Node*node){2if(node==nullptr)return0;3retur......