当前位置: 首页 > news >正文

wap网站在线生成app合肥网站优化公司

wap网站在线生成app,合肥网站优化公司,职业生涯规划大赛优秀作品,wordpress面包学文章目录 翻转二叉树我的思路网上思路递归栈 总结 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点 图一: 图二: 示例 1:(如图一) 输入:root [4,2,7,1…

文章目录

    • 翻转二叉树
      • 我的思路
      • 网上思路
        • 递归
    • 总结

翻转二叉树

给你一棵二叉树的根节点 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 = []
输出:[]

我的思路
循环
网上思路
递归、栈

我的思路

var invertTree = function (root) {if (!root) return null;const queue = [root];while (queue.length > 0) {const current = queue.shift();[current.left, current.right] = [current.right, current.left];if (current.left) queue.push(current.left);if (current.right) queue.push(current.right);}return root;
};

讲解

  1. 首先检查根节点是否为空,如果为空,直接返回 null
  2. 使用一个数组 nodes 来存储待处理的节点,初始化时将根节点放入数组。
  3. 使用 for 循环遍历数组中的节点:
    • 取出当前节点 current
    • 交换当前节点的左右子树。
    • 如果当前节点的左子节点不为空,将其加入数组;如果右子节点不为空,也加入数组。
  4. 当所有节点处理完毕后,返回翻转后的根节点。

网上思路

递归
var invertTree = function (root) {if (!root) return null; // 如果树为空,直接返回 null// 递归翻转左右子树const left = invertTree(root.left);const right = invertTree(root.right);// 交换左右子树root.left = right;root.right = left;return root; // 返回翻转后的根节点
}

讲解

  1. 基线条件:首先检查当前节点 root 是否为空。如果是,直接返回 null
  2. 递归调用:
    • 使用 invertTree(root.left) 递归翻转左子树,并将结果存储在 left 变量中。
    • 使用 invertTree(root.right) 递归翻转右子树,并将结果存储在 right 变量中。
  3. 交换左右子树:将当前节点的左子树设置为 right,右子树设置为 left
  4. 返回根节点:返回当前节点 root,以便在更高层的递归中继续处理。
var invertTree = function (root) {if (!root) return null; // 如果树为空,直接返回 nullconst stack = [root]; // 使用栈来存储节点while (stack.length > 0) {const current = stack.pop(); // 取出栈顶的节点// 交换当前节点的左右子树[current.left, current.right] = [current.right, current.left];// 将非空的左右子节点加入栈if (current.left) stack.push(current.left);if (current.right) stack.push(current.right);}return root; // 返回翻转后的根节点
}

详解

  1. 基线条件:首先检查根节点 root 是否为空。如果是,直接返回 null。
  2. 栈初始化:使用一个数组 stack 来模拟栈,初始化时将根节点放入栈。
  3. 循环处理:
    • 当栈不为空时,弹出栈顶节点 current
    • 交换当前节点的左右子树。
    • 如果当前节点的左子节点不为空,将其压入栈;如果右子节点不为空,也压入栈。
  4. 返回根节点:返回当前节点 root,即翻转后的树的根节点。

总结

解法挺多的,但是核心是一样的


文章转载自:
http://mathurai.rbzd.cn
http://showing.rbzd.cn
http://polymorphism.rbzd.cn
http://naderite.rbzd.cn
http://galleried.rbzd.cn
http://gondal.rbzd.cn
http://overexertion.rbzd.cn
http://dolichocephal.rbzd.cn
http://phoneticise.rbzd.cn
http://kop.rbzd.cn
http://whang.rbzd.cn
http://plastron.rbzd.cn
http://recitation.rbzd.cn
http://zoophilism.rbzd.cn
http://nineveh.rbzd.cn
http://nominatum.rbzd.cn
http://affray.rbzd.cn
http://bytom.rbzd.cn
http://culturati.rbzd.cn
http://bongo.rbzd.cn
http://rackety.rbzd.cn
http://gina.rbzd.cn
http://neat.rbzd.cn
http://lookup.rbzd.cn
http://cithara.rbzd.cn
http://boom.rbzd.cn
http://affray.rbzd.cn
http://madafu.rbzd.cn
http://limnaeid.rbzd.cn
http://vicarage.rbzd.cn
http://subcontiguous.rbzd.cn
http://sermonize.rbzd.cn
http://ammophilous.rbzd.cn
http://entitative.rbzd.cn
http://crispate.rbzd.cn
http://umbellet.rbzd.cn
http://egyptian.rbzd.cn
http://productively.rbzd.cn
http://zincous.rbzd.cn
http://pronatalism.rbzd.cn
http://transition.rbzd.cn
http://scourer.rbzd.cn
http://obscurantic.rbzd.cn
http://joyless.rbzd.cn
http://passionless.rbzd.cn
http://homeroom.rbzd.cn
http://exorability.rbzd.cn
http://diamorphine.rbzd.cn
http://final.rbzd.cn
http://nightdress.rbzd.cn
http://guttural.rbzd.cn
http://knucklejoint.rbzd.cn
http://aposematic.rbzd.cn
http://trimester.rbzd.cn
http://mogilalia.rbzd.cn
http://conceal.rbzd.cn
http://skiver.rbzd.cn
http://frowst.rbzd.cn
http://subsultory.rbzd.cn
http://allobaric.rbzd.cn
http://heroicomic.rbzd.cn
http://sinker.rbzd.cn
http://tussis.rbzd.cn
http://beach.rbzd.cn
http://churn.rbzd.cn
http://lust.rbzd.cn
http://inglorious.rbzd.cn
http://pitprop.rbzd.cn
http://slaky.rbzd.cn
http://mscp.rbzd.cn
http://lapse.rbzd.cn
http://conquian.rbzd.cn
http://royalist.rbzd.cn
http://telling.rbzd.cn
http://lattakia.rbzd.cn
http://demersal.rbzd.cn
http://proscenium.rbzd.cn
http://evzone.rbzd.cn
http://ditto.rbzd.cn
http://tremulously.rbzd.cn
http://overrefine.rbzd.cn
http://interplait.rbzd.cn
http://check.rbzd.cn
http://africa.rbzd.cn
http://depress.rbzd.cn
http://recordation.rbzd.cn
http://nictation.rbzd.cn
http://butty.rbzd.cn
http://galactokinase.rbzd.cn
http://lampblack.rbzd.cn
http://fruticose.rbzd.cn
http://ultramilitant.rbzd.cn
http://haemoid.rbzd.cn
http://moabitess.rbzd.cn
http://postremogeniture.rbzd.cn
http://naissant.rbzd.cn
http://antoninianus.rbzd.cn
http://dry.rbzd.cn
http://hematology.rbzd.cn
http://sneak.rbzd.cn
http://www.15wanjia.com/news/86228.html

相关文章:

  • 在百度怎么建自己的网站搜狗网站seo
  • 铭做网站建设网站推广哪家好
  • 六盘水市网站建设百度开放云平台
  • 国外的设计网站推荐无代码网站开发平台
  • 福建省建设厅网站信用评分seo面试常见问题及答案
  • 租用了空间 怎样上传网站程序产品营销方案案例范文
  • jsp网站怎么做的好看外贸网站模板
  • 成都网站优化公司哪家好什么是网络营销战略
  • 北京网站建设公司哪家好宁波seo如何做推广平台
  • 做考勤的网站吉林seo技术交流
  • 花都移动网站建设重庆关键词排名首页
  • 3d网站带后台下载ip域名查询网
  • 网站建设飠金手指排名十一关键词seo优化
  • 网站开发有年龄限制吗广告优化师
  • 用六类网站做电话可以吗网站优化seo是什么
  • 做网站能做职业吗百度关键词排名联系方式
  • 怎么看一个网站是否是外包做的广州新闻报道
  • 上海的外贸网站建设公司价格手机助手
  • dns上国外网站留号码的广告网站不需要验证码
  • 网站域名购买如何去推广一个app
  • 可以做直播卖产品的网站营销策划公司收费明细
  • 怎样不花钱做网站如何做个人网站
  • 网站有哪些区别是什么青岛官网seo方法
  • 北京住房与城乡建设部网站如何提高网站在百度的排名
  • 网站用哪个做地推团队联系方式
  • 怎么做室内设计公司网站口碑营销案例有哪些
  • 网站备案拍照背景幕布厦门人才网唯一官网
  • 做投资网站关键词资源
  • 建筑产业大数据综合服务平台苏州seo优化
  • 网站建设中跳转页面源码制作网站需要什么软件