049:两数相加

LeetCode 2 https://leetcode.cn/problems/add-two-numbers/description/ 难度:中等 高频面试题汇总:https://www.yuweihung.com/posts/2025/lc-hot/ 递归处理两个链表相加。 时间复杂度:O(n),其中 n 为 l1 长度和 l2 长度的最大值。 空间复杂度:O(n)。递归需要 O(n) 的栈空间。 ...

七月 1, 2025 · Cassius

040:二叉树的中序遍历

LeetCode 94 https://leetcode.cn/problems/binary-tree-inorder-traversal/description/ 难度:简单 高频面试题汇总:https://www.yuweihung.com/posts/2025/lc-hot/ 二叉树中序遍历的递归实现。 时间复杂度:O(n),其中 n 为二叉树节点的个数。二叉树的遍历中每个节点会被访问一次且只会被访问一次。 空间复杂度:O(n)。空间复杂度取决于递归的栈深度,而栈深度在二叉树为一条链的情况下会达到 O(n) 的级别。 ...

六月 30, 2025 · Cassius

039:二叉树的右视图

LeetCode 199 https://leetcode.cn/problems/binary-tree-right-side-view/description/ 难度:中等 高频面试题汇总:https://www.yuweihung.com/posts/2025/lc-hot/ 先递归右子树,再递归左子树,当某个深度首次到达时,对应的节点就在右视图中。 时间复杂度:O(n),其中 n 是二叉树的节点个数。 空间复杂度:O(h),其中 h 是二叉树的高度。递归需要 O(h) 的栈空间。最坏情况下,二叉树退化成一条链,递归需要 O(n) 的栈空间。 ...

六月 30, 2025 · Cassius

019:二叉树的最近公共祖先

LeetCode 236 https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/description/ 难度:中等 高频面试题汇总:https://www.yuweihung.com/posts/2025/lc-hot/ 二叉树题目。如果当前节点为空,或者为 p,或者为 q,直接返回当前节点。 如果左右子树都找到 p 或 q,返回当前节点。 如果左子树找到 p 和 q,返回左子树的结果。 如果右子树找到 p 和 q,返回右子树的结果。 如果左右子树都没找到,返回空节点。 时间复杂度:O(n),其中 n 为二叉树的节点个数。 空间复杂度:O(n)。最坏情况下,二叉树是一条链,因此递归需要 O(n) 的栈空间。 ...

六月 29, 2025 · Cassius

003:反转链表

LeetCode 206 https://leetcode.cn/problems/reverse-linked-list/description/ 难度:简单 高频面试题汇总:https://www.yuweihung.com/posts/2025/lc-hot/ 本题有迭代和递归两种解法,迭代法更易理解,且空间复杂度更优。 ...

六月 25, 2025 · Cassius

快速排序和第 K 小的数

本文介绍快速排序算法以及基于快速排序的选择方法的实现。 ...

一月 6, 2024 · Cassius