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

网站开发模块学些什么软件手机上怎么提取公积金

网站开发模块学些什么软件,手机上怎么提取公积金,制度建设对网站管理的重要性,沈阳小装修公司哪家好文章目录 翻转二叉树我的思路网上思路递归栈 总结 翻转二叉树 给你一棵二叉树的根节点 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.yayakq.cn/news/988093/

相关文章:

  • 跟老外做网站国内十大erp系统
  • 做一个企业网站大概需要多少钱中国企业信用网
  • 网站后端架构如何做城市建设杂志社网站
  • 自己公司设计一个网站网页海报设计教程
  • 沈阳专业做网站宝应县建设工程管理局网站
  • 芜湖建设路小学网站小型手机网站建设推荐
  • 漯河网站建设lhwzzz怎样制作网站积分系统
  • 简约好看的网站模板网站什么也没动怎么不收录啦
  • 企业网站开发报价河北seo推广方法
  • 做网站建设的基本步骤职友集 一家做公司点评的网站
  • 华建河北住房和城乡建设厅网站合肥网站建设价格
  • 网站做cdn需要多少钱都匀住房与城乡建设部网站
  • 怀远网站建设移动端是指手机吗
  • 大连模板网站制作公司电话做网站免费空间
  • 做网站后台要学昆山建设信息网站
  • 中国有哪些跨境电商平台北京首页关键词优化
  • 传世网站建设成都营销型网站设计
  • 成功案例 品牌网站如何设置自己的网址
  • 营销网站seo推广网站开发有哪些职位
  • 东庄水利枢纽建设公司网站网站开发的自适应
  • 优惠券网站怎么做的做农村网站多少钱
  • 手机如何制作自己的网站给网站做
  • 白云网站制作高校学校网站建设
  • 网站举报能不能查到举报人网络营销策划的流程及要点
  • 广东网站设计哪家专业浅析网站域名在搜索引擎排名中的作用
  • 常德网站建设多少钱海外红人营销推广
  • 用织梦系统做网站产权查询一个网站是用什么系统做的
  • 网站建设 岗位做网站需要注意的地方
  • 万网个人网站建设教程开发公司经理述职报告
  • .net网站模版seo培训班