- 博客(12)
- 收藏
- 关注
原创 Merge Sorted Array
每日一题,最近开题,少写了几次~今天做的是合并有序数组。做了三种方法:1、先把B加到A的尾部,然后快排出来的结果。2、新建一个数组,先把A全部复制进去,然后开始拿,克隆A里面最小的,B里面最小的,按照顺序往A里面放。3、移动,(类似于插入排序的思想),把B里面的数一个一个拿出来,然后在A中找到它的位置,后面所有元素往后挪动一位。前两种都是197ms;第三种是196ms。
2015-01-06 23:23:33
208
原创 Symmetric Tree
每日一题;今天的题目是判断二叉树是不是对称的。先看题目Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \ 2 2 / \
2014-12-30 23:01:30
191
原创 Binary Tree Level Order Traversal II I
每日一题;昨天有事儿,没做今天补上。这两道题是一样的,都是把二叉树广搜,输出每层节点,一个是从下往上,一个是从上往下;我的思路是:1、建立一个队列(参考别人后想到的),然后把根节点放进去,2、依次处理队列中的值,如果有左右孩子,就把左右孩子分别加到队列里面,然后把值放进当前层的列表里面;3、在层与层之间分割的地方集,在队列中加入一个空节点,遇到空节点时,就把当前列表放进结果
2014-12-28 22:42:38
232
原创 Balanced Binary Tree
每日一题;今天做的是判断二叉树是否平衡,自己有点没太弄明白概念,所以错了好多次,最后学习了一下别人怎么做的,才做了出来。1、二叉树平衡是子树的最大深度减去最小深度不超过1;并不是从整棵树来看的,比如说{1,2,2,3,3,#,#,4,4}就是平衡的,但是{1,2,2,3,3,3,3,4,4,4,4,4,4,#,#,5,5}就不是平衡的,画出来才知道啊~2、做减法的时候要加上绝对值;
2014-12-25 00:12:31
312
原创 Minimum Depth of Binary Tree
每日一题;今天做的还是二叉树,求二叉树最小深度,貌似没有什么难度,需要注意的就两点:1、递归的出口条件,开始以为是叶子节点,结果报错,因为如果只有一个节点这样容易返回0;所以出口要考虑一个节点的情况;2、递归的过程。Given a binary tree, find its minimum depth.The minimum depth is the number of n
2014-12-24 00:28:28
197
原创 Path Sum
每日一题;今天做的是二叉树的查找,相对来说也是比较简单的题目,很容易想到递归,最后也是递归做的。这里需要注意的有两件事情:1、第一次做的时候,想当然的认为所有的数字是正数,然后很淡定的加了一个判断,如果给出的数比根节点小,就无解,显然是想当然了,结果就WA了,把这个判断去掉果断AC了。2、之前是自己写if else出来以后时间上都过500ms了,于是自己简化了一下代码,结果还算满意吧,
2014-12-22 23:35:24
231
原创 Pascal's Triangle
每日一题;今天做的还是杨辉三角,不过今天的非常简单,还没来得及优化~有时间就换种思路来做。Given numRows, generate the first numRows of Pascal's triangle.For example, given numRows = 5,Return[ [1], [1,1], [1,2,1], [1,3,3
2014-12-21 23:05:54
266
原创 Pascal's Triangle II
每日一题;今天做的也相对简单,主要是空间的限制,注意边界位置就够了;Given an index k, return the kth row of the Pascal's triangle.For example, given k = 3,Return [1,3,3,1].Note:Could you optimize your algorithm to use on
2014-12-20 22:43:59
183
原创 Valid Palindrome
每天一题;为了明天的六级,今晚就早点做了;还好做的是回文,看起来简单但是写好不容易,有点小粗心,多交了好多次~1、认真读题,不能认为自己做过就粗心大意;2、要有时间学学正则表达式;3、用现成的方法不一定是好事儿,效率问题;当我第一次写的时候,直接用String的方法替换字符串,然后转换大小写,然后去除空格,这样自己代码量下来了,时间上去了,然后就自己过滤了一遍,自己处理这些
2014-12-19 19:58:09
258
原创 Min Stack
每日一题;今天写的是最小栈,感觉很简单,但是好多细节不容忽视呀!需要注意的地方:1、有时间还是继续看看源码吧;2、首先需要考虑越界的问题,需要数组扩容;但是初始值定义的大小很重要,两张图说明问题:第一张是数组初始大小为100的,花费时间429ms;第二章是数组初始大小为10000的,花费时间是492ms;3、取最小值的时候,第一次做的时候是没取一次,遍历一次,结
2014-12-18 23:44:34
252
原创 Intersection of Two Linked Lists
每日一题;今天做的时候有几点以后自己还是需要注意的:1、输入参数首先需要判断是否为空;需要考虑为空的情况;2、O(n)是可以遍历可数遍数就好,也就是可以是2n,或者3n什么的;3、第二件事就是无环链表求节点的时候的思路应该是找到两个链表长度差,让长的先走多少步,然后一起遍历,因为无环,肯定就是Y型的。Write a program to find the nod
2014-12-18 00:20:25
179
原创 Compare Version Numbers
开始准备面试了,把做过的题,看过的文章整理一下,代码写的不好请不要鄙视我~~~Compare two version numbers version1 and version1.If version1 > version2 return 1, if version1 version2 return -1, otherwise return 0.You may assume that
2014-12-16 23:50:40
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人