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

北京网站建设公司动感免费刷粉网站推广免费

北京网站建设公司动感,免费刷粉网站推广免费,响应式网站样式图怎么做,枣庄seo外包文章目录 翻转二叉树我的思路网上思路递归栈 总结 翻转二叉树 给你一棵二叉树的根节点 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://www.khdw.cn/news/42276.html

相关文章:

  • 快速模板建站工具长沙百度搜索网站排名
  • 中国十大网站建设公司排名搜索引擎关键词排名
  • 盐城建设银行网站seo基础教程
  • 深圳做网站的人网站模板搭建
  • 东莞网站制作公司是什么app关键词优化
  • 免费软件网站大全丹东seo推广优化报价
  • 保障网装修平台上海公司网站seo
  • 国家域名seo关键词排名优化技巧
  • 页制作与网站建设技术大全优帮云排名自动扣费
  • wordpress电商建站抖音seo软件
  • 敬请期待的图片seo入门培训教程
  • 做网站建设比较好的公司青岛网站设计公司哪家好
  • 新沂网站建设公司windows永久禁止更新
  • 新网站怎么做才会被收录比较正规的代运营
  • 免费qq空间访客网站网络营销成功案例ppt免费
  • 有哪个网站可以做ppt赚钱网站建设及网站推广
  • 公司网站建设开发维护工作总结网站优化推广seo
  • 洛阳做网站公司地址加盟培训机构
  • 用idea做html网站地推拉新app推广怎么做
  • 博彩网站开发人员犯法吗网站浏览器
  • 网站工作室 需要什么手续互联网+营销策略怎么写
  • 企业网站需要什么功能河北seo推广
  • 东莞市建设工程监督网微信搜一搜seo
  • 南京 外贸网站建设百度指数查询官方网
  • 企业网站建设cms兰州网站seo诊断
  • 如何攻击网站淘宝关键词优化
  • seo优化的网站发布软文平台
  • 深圳市龙华区网站建设定制网站+域名+企业邮箱
  • 网站建设费发票名称百度关键字搜索量查询
  • 地方购物网站盈利模式seo研究