Coding Bro

代码笔记哥的博客

九种从JavaScript数组删除元素的方法(上)

Remove elements form a JavaScript array: Part I

JavaScript语言并不具备直接的类似Array.remove()这样的方法,但对于要掌握这门语言的工程师而言,它其实有多种多样的从数组中删除元素的方法。比如:我们可以使用pop()方法从数组的尾部删除元素,使用shift()方法从数组的头部删除元素,再者可以用splice()方法从数组的中间位置删除元素。另外,我们可以用filter()方法按特定的要求从数组中筛选出元素。 本文为“九...

LeetCode 100. Same Tree

LeetCode 100. 判断相同二叉树

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

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 思路(什么数据结构, 什么算...