
662. 二叉树最大宽度
662. 二叉树最大宽度 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这些 null 节点也计入长度。 题目数据保证答案将会在 32 位 带符号整数范围内。 <i...

662. 二叉树最大宽度 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这些 null 节点也计入长度。 题目数据保证答案将会在 32 位 带符号整数范围内。 <i...

103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 树中节点数目在范围 [0, 2000] 内 100 < Node.val < 100 这道题就是 429. N 叉树的层序遍历 的拓展,假设第一层是根节点那层,那么接下来第二层就需要逆序,第三层就不逆序,如果...

429. N 叉树的层序遍历 给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 <img src"https://assets.leetcode.com/uploads/2018/10/12/narytreeexample.png" alt"img" style"zoom: 50%;" /...

25. K 个一组翻转链表 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 其中 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 链表中的节点数目为 n 1 < k < n < 5000 0 < Node.val...

23. 合并 K 个升序链表 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 k lists.length 0 < k < 10^4 0 < lists[i].length < 500 10^4 < lists[i][j] < 10^4 lists[i] 按 升序 排列 lists[i].length 的总和不超过 1...

143. 重排链表 给定一个单链表 L 的头节点 head ,单链表 L 表示为: 请将其重新排列后变为: 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 <img src"https://pic.leetcodecn.com/1626420311PkUiGIimage.png" alt"img" style"zoom:67%;" / <img src"https:...

24. 两两交换链表中的节点 难度中等1706 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 <img src"../../img/swapex1.jpg" alt"img" style"zoom:67%;" / 链表中节点的数目在范围 [0, 100] 内 0 < Node.val < 100 这道...

2. 两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 <img src"https://assets.leetcodecn.com/aliyunlcupload/uploads/202...
1. 画图。在链表环节画图是很重要的,可以达到直观 + 形象 + 便于我们理解的效果。 2. 引入哨兵头节点。 便于处理边界情况 方便我们对链表的操作 3. 不要吝啬空间,大胆去定义变量,不要为了省那几个字节的空间而让自己乱套。 4. 快慢双指针。这个技巧非常好用,比如判环、找链表环的入口、找链表倒数第 n 个节点等等。 1. 创建一个新节点 ...

简单地说,递归就是自己调用自己! 递归的本质,其实就是在分析一个大问题的时候,发现其子问题也是有相同的处理情况,而对于子问题来说,它的子问题也是如此,以此类推…… 最经典的案例就是二叉树的深度遍历、快速排序、归并排序等,它们都是将一个大问题,根据每个子问题的共同特征抽象出一个解法之后,交给每个子问题去解决,最后子问题都解决了,那么大问题也就解决了! ...