Codingbro's Blog

代码笔记哥的博客

NLC 9. QuickSort - Fast Slow Pointer Approach

复习快速排序(一)用快慢双指针来实现交换

文化背景 快速排序(QuickSort)是各种比较排序(冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序)当中最快的一种。它是由英国计算机科学家托尼·霍尔(Tony Hoare)于1959年发明。这位托尼·霍尔于1980年获得图灵奖,目前是爵士头衔。下面给大家看看这位大牛的照片: 除了快速排序,有名的快速选择(Quickselect)算法也是这位哥们发明的。当然啦,我们今天主...

LeetCode 236. Lowest Common Ancestor of a Binary Tree

LeetCode 236. 二叉树的最近公共祖先

寻找一棵普通二叉树(非二叉搜索树)的最近公共祖先。 输入空间:二叉 解空间:二叉 解题“七步走” (保持这种sense): 题意 Scenario 假设 Assumptions 举例与输入输出 Examples and figure out Input/Output 思路(什么数据结构, 什么算法)Thinking Process (What data structur...

LeetCode 235. Lowest Common Ancestor of a Binary Search Tree

LeetCode 235. 二叉搜索树的最近公共祖先

寻找一棵二叉搜索树的最近公共祖先。 二叉搜索树的定义 在开始讲本题前,我们先来回顾一下二叉搜索树的定义。二叉搜索树(Binary Search Tree)是二叉树(Binary Tree)的一个子集。它的定义是一种递归式的定义,表述如下: 对于二叉树的每一个节点而言,其左子树的任何一个节点的值都会小于或等于当前节点,其右子树的任何一个节点的值都会大于或等于当前节点。 上述是一个递...

LeetCode 101. Symmetric Tree

LeetCode 101. 对称二叉树

判断一棵二叉树是否为对称二叉树。 输入空间:二叉 解空间:二叉 解题“七步走” (保持这种sense): 题意 Scenario 假设 Assumptions 举例与输入输出 Examples and figure out Input/Output 思路(什么数据结构, 什么算法)Thinking Process (What data structure, algori...

LeetCode 437. Path Sum III

LeetCode 437. 二叉树的路径和 III

二叉树的路径和 III – 找出满足二叉树的路径和的所有路径的个数,这一次路径的定义不必起始于全局的根,也不必结束于叶子节点。 输入空间:二叉 解空间:二叉 解题“七步走” (保持这种sense): 题意 Scenario 假设 Assumptions 举例与输入输出 Examples and figure out Input/Output 思路(什么数据结构, 什么算...

LeetCode 113. Path Sum II

LeetCode 113. 二叉树的路径和 II

二叉树的路径和 II – 找出满足二叉树的路径和的所有路径。 输入空间:二叉 解空间:二叉 解题“七步走” (保持这种sense): 题意 Scenario 假设 Assumptions 举例与输入输出 Examples and figure out Input/Output 思路(什么数据结构, 什么算法)Thinking Process (What data str...

LeetCode 112. Path Sum

LeetCode 112. 二叉树的路径和

二叉树的路径和。 解题“七步走” (保持这种sense): 题意 Scenario 假设 Assumptions 举例与输入输出 Examples and figure out Input/Output 思路(什么数据结构, 什么算法)Thinking Process (What data structure, algorithm?) 代码 Coding 复杂度分...