103 二叉树的锯齿形层序遍历 给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如:给定二叉树 [3,9,20,null,null,15,7], 12345 3 / \9 20 / \ 15 7 返回锯齿形层序遍历如下: 12345[ [3], [20,9], [15,7]] Solution 方法同 [102 二叉树的层序遍历] 2021-01-24 algo leetcode 算法
107 二叉树的层序遍历 II 给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如:给定二叉树 [3,9,20,null,null,15,7], 12345 3 / \9 20 / \ 15 7 返回其自底向上的层序遍历为: 12345[ [15,7], [9,20], [3]] Solution 方法同 [102 二叉树的层序遍历] 利用队 2021-01-24 algo leetcode 算法
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 算法