11 2017 档案
摘要:二叉搜索树的特殊性质
阅读全文
摘要:这是一道很简单的题目,输出杨辉三角具体的某一行。很简单的一道题,但题目有要求只能用O(k)的额外空间,因此我们就不能把这个杨辉三角生成出来。 这是我原来的做法: 要只用O(k)的额外空间,就要从后面开始遍历起。这种节省空间的方法(把二维转为一维数组)在很多地方都用到了。 代码如下:
阅读全文
摘要:最近在做LeetCode上面有关二叉树的题目,这篇博客仅用来记录这些题目的代码。 二叉树的题目,一般都是利用递归来解决的,因此这一类题目对理解递归很有帮助。 1.Symmetric Tree(https://leetcode.com/problems/symmetric-tree/descripti
阅读全文
摘要:1.冒泡排序 冒泡排序的原理是对临近的两个数字进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或者最小的数字就被交换到了最后一位了。然后再从头开始进行这种比较和交换,一直到完成排序。 代码如下: 要注意的是,所谓冒泡,就是要相邻的两个元素比较,假如一个数是最大的,它会一直冒泡到
阅读全文
摘要:1.满二叉树: 除了最后一层无任何子结点外,每一层上的所有结点都有两个子结点的二叉树。 2.完全二叉树: 设一棵二叉树深度为h。除了第h层外,其它各层的结点数都达到最大个数,且第h层(最下面一层)的所有结点都连续集中在最左边。 满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。 3.平衡二叉树:
阅读全文
摘要:1.文字描述: 已知一颗二叉树的前序(后序)遍历序列和中序遍历序列,如何构建这棵二叉树? 以前序为例子: 前序遍历序列:ABCDEF 中序遍历序列:CBDAEF 前序遍历先访问根节点,因此前序遍历序列的第一个字母肯定就是根节点,即A是根节点;然后,由于中序遍历先访问左子树,再访问根节点,最后访问右子
阅读全文
摘要:算法期中考到一题关于拓扑序的题目,觉得很值得一写。 1.什么是拓扑序? 对一个有向无环图进行拓扑排序,假如图中存在一条从顶点A到顶点B的路径,则拓扑序中顶点A出现在顶点B的前面。要注意的是,这是对有向无环图而言的,假如图是有环的,拓扑序就无从谈起了。在这道题目中,已经假定了图是一个无环图。因此不需要
阅读全文
摘要:1.使用到的方法或数据结构:DFS:栈(或递归) BFS:队列(一开始先把第一个节点放进队列中) 2.用法: DFS:内存消耗小,仅仅能找到解。 BFS:能找到最短路径 3.应用: 刚接触这两个算法的时候,不知道怎么将它们运用到一般的题目中。(以为只能用在解决“图”的题目中)但其实,我们利用的是它们
阅读全文
摘要:一.130 Surrounded Regions(https://leetcode.com/problems/surrounded-regions/description/) 题目: 解法: 这道题的意思是将所有被X包围的O都变为X(边缘的不算),我们可以维护一个队列,先把四周的O的位置放进队列中,
阅读全文
摘要:算法期中考遇到一道合并二叉树的题目的题目,感觉对理解二叉树的归并和二叉树本身这个的数据结构都挺有帮助,因此记录下来: 题目: 代码:
阅读全文
摘要:1.两个字符串的最长公共子串与最长公共子序列的区别: 最长公共子串要求在原字符串中是连续的,而子序列只需要保持相对顺序一致,并不要求连续。 下面分别讲讲怎么求它们。 2.最长公共子串: (1)暴力解法: 要求最长公共子串,可以用暴力的解法: 或者: 这种暴力解法唯一值得学习的地方,就是怎么求一个字符
阅读全文
摘要:原题地址: https://leetcode.com/problems/3sum/description/ 题目: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Fin
阅读全文
摘要:原题地址: https://leetcode.com/problems/two-sum/description/ 题目: Given an array of integers, return indices of the two numbers such that they add up to a
阅读全文

浙公网安备 33010602011771号