首页 > 其他分享 >力扣刷题心得

力扣刷题心得

时间:2022-11-30 09:55:25浏览次数:66  
标签:node 11 遍历 ret 力扣 二叉树 心得 append 刷题

二叉树篇

今天是2022年11月30日,本以为疫情在11月会结束,没想到又继续封控了一个月,10月已经封了半个月,那时候就打算11月的时候,坚持每天力扣,幸不辱命。

image-20221130091516654

这个月也是跟着代码随想录 (programmercarl.com)刷题,巧合的是今天是11月的最后一天,也是完成代码随想录二叉树篇最后一题的一天。

我记得从最开始的二叉树的几种遍历顺序,最开始上手的是二叉树的层序遍历,弄清楚一个模版(双队列层序遍历二叉树)就可以开始“秒题”(大部分的简单、中等题):

func levelOrder(root *TreeNode) [][]int {
	// ret := [][]int{}
	if root == nil {
		return ret
	}
	q := []*TreeNode{root}
	for i := 0; len(q) > 0; i++ {
		// ret = append(ret, []int{})
		p := []*TreeNode{}
		for j := 0; j < len(q); j++ {
			node := q[j]
			// 此处可添加值操作;
			if node.Left != nil {
				p = append(p, node.Left)
			}
			if node.Right != nil {
				p = append(p, node.Right)
			}
		}
		q = p
	}
	return ret
}

然后就可以刷下面这些题了,

image-20221130093834363

之后,前序、中序、后续遍历也有一些题,但这时候主要考虑的递归方向的问题,恰当选择递归顺序。

中序应用最多的还是,二叉搜索树,因为中序遍历是有序的,这也是此章节最后一个难点。

不过此时,我仍对一些问题感觉模糊(靠着感觉能写对一些题,但对为什么的掌握还不到位):

  • 递归回溯,回溯表具体的表现位置;
  • 递归函数参数如何设置,递归函数返回值如何设置;

最最重要的事情是:坚持!

标签:node,11,遍历,ret,力扣,二叉树,心得,append,刷题
From: https://www.cnblogs.com/kphang/p/16937522.html

相关文章

  • 力扣01 求两数之和
    力扣01求两数之和题目:给定一个整数数组,返回两个数字的索引,使它们加起来为一个特定的目标。您可以假设每个输入只有一个解决方案,并且您可能不会两次使用同一个元素。示......
  • windows 7 安装 vmtools 解决心得
    win7系统安装vmtools他有几种报错我见过三种一种是sp0升级到sp1很恶心升级到sp1还需要升级到sp2第二种是VGA服务缺失他这个缺失之后需要补丁第三种就是安装得序......
  • 【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内
    背景介绍在我们日常的工作当中,通常应用都会采用Kubernetes进行容器化部署,但是总是会出现一些问题,例如,JVM堆小于Docker容器中设置的内存大小和Kubernetes的内存大小,但是还......
  • 力扣 leetcode 45. 跳跃游戏 II
    问题描述给你一个非负整数数组nums,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一......
  • 力扣 leetcode 1758. 生成交替二进制字符串的最少操作数
    问题描述给你一个仅由字符'0'和'1'组成的字符串s。一步操作中,你可以将任一'0'变成'1',或者将'1'变成'0'。交替字符串定义为:如果字符串中不存在相邻两个字......
  • 力扣240(java&python)-搜索二维矩阵 II(中等)
    题目:编写一个高效的算法来搜索 m x n 矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例......
  • maven几种打包插件介绍,及个人心得总结
    文章目录​​一、maven几种打包插件介绍​​​​二、插件用法详细介绍​​​​1.spring-boot-maven-plugin​​​​介绍​​​​使用​​​​2.maven-shade-plugin​​​​......
  • LeetCode刷题记录.Day28
    滑动窗口最大值classSolution{private:classMyQueue{public:deque<int>que;//使用双端队列deque来实现单调队列voidpo......
  • Pycharm白嫖心得-每个版本的"安装"方法竟然不一样
     作为一名优秀的共青团员,社会主义的新新接班人,打着本着专薅外国资本主义羊毛的旗号,本人白嫖了Pycharm10年有余(大部分估计同志都是这样的吧),在这里记录一下不同版本"安装方......
  • 力扣 leetcode 813. 最大平均值和的分组
    问题描述给定数组nums和一个整数k。我们将给定的数组nums分成最多k个相邻的非空子数组。分数由每个子数组内的平均值的总和构成。注意我们必须使用nums数......