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

武汉市建设工程造价管理站网络舆情优化公司

武汉市建设工程造价管理站,网络舆情优化公司,四川省微信网站建设推广,大良营销网站建设平台1. 题目 描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 数据范围:二叉树的节点数量满足 0≤n≤100 ,二叉树节点的值满足1≤val≤100 ,树的各节点的值各不相同 示例 1 输入: {1,#,2,3} 返回值&#…

1. 题目

描述

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

数据范围:二叉树的节点数量满足 0≤n≤100 ,二叉树节点的值满足1≤val≤100 ,树的各节点的值各不相同

示例 1

输入:

{1,#,2,3}

返回值:

[1,2,3]

2. 解题思路

需要先明确二叉树前序遍历的规则:

二叉树的遍历一般使用【递归】的方法。如果要采用递归方法需满足递归的2个条件:

可以看出,对于左子树、右子树的遍历操作与整个二叉树一样,只是数据规模不同。

对于整颗二叉树来说,叶子节点左右子树都是Null,满足递归的第二个条件:不能无限循环,有终止条件(节点为Null)。因此可以使用递归来完成二叉树的前序遍历。

这时,就可以依据前序遍历的规则写出递推公式与伪代码:

如果文字描述的不太清楚,你可以参考视频的详细讲解。

  • Python编码:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1371454

  • Java编码:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1367104

  • Golang编码:数据结构笔试面试算法-Go语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Go语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1364644

3. 编码实现

核心代码如下:

/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型一维数组*/
func preorderTraversal(root *TreeNode) []int {// write code herelist := make([]int, 0)preOrder(&list, root) //注意:传递的是切片对应的指针(切片的地址),否则会变成值传递,最后返回空切片return list}func preOrder(list *[]int, root *TreeNode) {// 2. 递归终止条件:遇到空节点则返回if root == nil {return}// 1. 问题分解(递推公式)// 1.1 先遍历根节点*list = append(*list, root.Val)// 1.2 再去左子树preOrder(list, root.Left)// 1.3 最后去右子树preOrder(list, root.Right)
}

具体完整代码你可以参考下面视频的详细讲解。

  • Python编码:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1371454

  • Java编码:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1367104

  • Golang编码:数据结构笔试面试算法-Go语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Go语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1364644

4.小结

前序遍历的规则是:先节点、再左子树、最后右子树。

二叉树的前序遍历满足递归的两个条件,因此可以通过递归很快写出对应的递推公式:

f(node)= output(node.val) + f(node.左子树) +f (node.右子树) ,其中 f (空节点) = 空。

再根据递推公式就可以很快将其翻译成对应的代码。


《数据结构与算法》深度精讲课程正式上线啦!七大核心算法模块全解析:

✅ 链表 ✅ 二叉树 ✅二分查找、排序 ✅ 堆、栈、队列 ✅回溯算法 ✅ 哈希算法 ✅ 动态规划

无论你是备战笔试面试、提升代码效率,还是突破技术瓶颈,这套课程都将为你构建扎实的算法思维底座。🔥立即加入学习打卡,与千名开发者共同进阶!

  • Python编码实现:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1509965

  • Java编码实现:数据结构笔试面试算法-Java语言版_哔哩哔哩_bilibili数据结构笔试面试算法-Java语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1510007

  • Golang编码实现:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep1509945

对于二叉树的相关算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。

今日佳句:接天莲叶无穷碧,映日荷花别样红。

http://www.cadmedia.cn/news/7782.html

相关文章:

  • 一品威客网怎么样搜索引擎优化的方法和技巧
  • 深圳网站建设响应式网站深圳百度竞价推广
  • 云南省中国建设工程造价管理协会网站seo资讯网
  • 免费地方域名注册seo综合查询工具可以查看哪些数据
  • 左28cm移动建站优化
  • wordpress网站的彻底清理软件推广赚钱
  • 网站建设建网站网销怎么做
  • 平阳高端网站建设网页开发工具
  • 建设电子商务网站的方法有?成品影视app开发
  • 如何免费制作一个公司网站免费外链网
  • 西安城乡建设委员会网站打不开重庆网络推广
  • 太原公司网站建设百度注册页面
  • 公司网站的建设与运营管理制度天津百度推广排名
  • 怎样做网站 - 百度网站百度收录
  • 无锡网站制作价格多少厦门百度竞价推广
  • 网站建设 任务链交换反应
  • 东莞大朗网站建设公司重庆seo入门教程
  • 更换wordpress字体浑江区关键词seo排名优化
  • 河南省 门户网站建设要求北京seo推广外包
  • 福州网站建设网站设计网站推广网站百度收录批量查询
  • 注册公司名字有没有重复在哪可以查关键词优化seo多少钱一年
  • 坪山附近公司做网站建设多少钱厦门百度快速优化排名
  • 好用网站推荐上海网络推广培训机构
  • 政府网站集约化建设的通知网络推广文案策划
  • 自己买服务器搭建网站域名ip查询
  • 本科专业 网站开发广告电话
  • 恩城seo的网站品牌网站建设方案
  • 网站建设的工作职责是什么专业地推团队
  • 重庆网站建设制作设计公司网站收录检测
  • 国外做做网站重庆seo整站优化方案范文