102 二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7], 12345 3 / \9 20 / \ 15 7 返回其层序遍历结果: 12345[ [3], [9,20], [15,7]] Solution 利用队列 迭代法,广度优先搜索 参考 @z1m 、[94 二叉树的中序 2021-01-24 algo leetcode 算法
145 二叉树的后序遍历 给定一个二叉树,返回它的 后序 遍历。 示例: 12345678输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? Solution 参考 @z1m 、[94 二叉树的中序遍历]、[144 二叉树的前序遍历]、[102 二叉树的层序遍历] 递归法 1234567891011121314 2021-01-23 algo leetcode 二叉树
94 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 12输入:root = [1,null,2,3]输出:[1,3,2] 示例 2: 12输入:root = []输出:[] 示例 3: 12输入:root = [1]输出:[1] 示例 4: 12输入:root = [1,2]输出:[2,1] 示例 5: 12输入:root = [1,null,2]输出:[1,2] 2021-01-23 algo leetcode 二叉树
144 二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 12输入:root = [1,null,2,3]输出:[1,2,3] 示例 2: 12输入:root = []输出:[] 示例 3: 12输入:root = [1]输出:[1] 示例 4: 12输入:root = [1,2]输出:[1,2] 示例 5: 12输入:root = [1,null,2]输出:[1,2] 2021-01-23 algo leetcode 二叉树
71 简化路径 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径 请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个 2021-01-23 algo leetcode 算法
150 逆波兰表达式求值 根据 逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 123输入: ["2", "1", "+", "3&quo 2021-01-23 algo leetcode 算法
143 重排链表 给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 1给定链表 1->2->3->4, 重新排列为 1->4->2->3. 示例 2: 1给定链表 1->2->3->4->5, 重新排列为 1 2021-01-22 algo leetcode 算法
61 旋转链表 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 12345输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5- 2021-01-22 algo leetcode 算法
19 删除链表的倒数第 N 个结点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 12输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5] 示例 2: 12输入:head = [1], n = 1输出:[] 示例 3: 12输入:head = [1,2], n = 1输出:[1] 提示: 链表中结点的数目为 sz 1 < 2021-01-22 algo leetcode 链表 双指针
237 删除链表中的节点 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。 现有一个链表 – head = [4,5,1,9],它可以表示为: 示例 1: 123输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9. 示例 2021-01-22 algo leetcode 算法