摘要: 先翻转再算,最后再翻转。 其实没必要,翻转了是从0开始比较方便。。 直接做也完全可以…… 然后其实也不用判定谁长谁短,LOOP里面加判定,超过的直接+0就可以了。。 Time: O(n) Space: O(1) 三刷。 自己以前写的也太丑陋了。 java public class Solution 阅读全文
posted @ 2016-11-06 13:16 哇呀呀..生气啦~ 阅读(86) 评论(0) 推荐(0)
摘要: 直接做的,一个一个比较。。 Time: O(n k) Space: O(1) 回头看一刷的做法,很奇怪。。。 先排序了一下,然后直接比较第一个和最后一个。。 Time: O(nlgn) Space: O(1) java public class Solution { public String lo 阅读全文
posted @ 2016-11-06 13:03 哇呀呀..生气啦~ 阅读(65) 评论(0) 推荐(0)
摘要: 这个EASY难度的题怎么感觉比H的还难,做了好久。。 呃啊。。我生 气 啦。。 1 digit: 1~9 总共1 9个 2 digits: 10~99 总共2 90个 3 digits: 100~999 总共3 900个 所以就是先定位哪个大区间,再从那个区间开始找确切位置。。 EASY的难度用了这 阅读全文
posted @ 2016-11-06 12:28 哇呀呀..生气啦~ 阅读(105) 评论(0) 推荐(0)
摘要: 先各遍历一次看是不是交于同一node,顺便记录2个链子的长度。 然后根据长度差距再遍历找到交点。。 阅读全文
posted @ 2016-11-06 07:19 哇呀呀..生气啦~ 阅读(62) 评论(0) 推荐(0)
摘要: 不用dummy node会很麻烦,要分情况讨论,问题是为什么不用。。用的话很简单。 阅读全文
posted @ 2016-11-06 07:05 哇呀呀..生气啦~ 阅读(72) 评论(0) 推荐(0)
摘要: 直接做的话每次要找到最后一个,再和一开始的比较,看起来很蠢,实际上也就是挺蠢的。 先快慢指针找到一半,把后半部分reverse,然后两个部分从头开始比较。。 阅读全文
posted @ 2016-11-06 07:01 哇呀呀..生气啦~ 阅读(55) 评论(0) 推荐(0)
摘要: trim()让这个问题变得简单多了。。 阅读全文
posted @ 2016-11-06 06:57 哇呀呀..生气啦~ 阅读(85) 评论(0) 推荐(0)
摘要: 这个题也挺好的。。 三刷感觉很多E的题都非常值得再考虑。 比如这个,虽然题上没说,但是肯定是不能用extra space,估计二刷一刷重新建了ARRAY之类的。。 倒着来就行,利用M和N的已知。 阅读全文
posted @ 2016-11-06 06:37 哇呀呀..生气啦~ 阅读(61) 评论(0) 推荐(0)
摘要: 用Queue模拟Stack,用一个变量记录头就行了。 Time: pop O(n) 其余 O(1) Space: O(n) 讨论区有人给出了O(1)的办法。。牛逼。 我就不考虑了。 阅读全文
posted @ 2016-11-06 06:34 哇呀呀..生气啦~ 阅读(78) 评论(0) 推荐(0)
摘要: 括号配对的,用的stack,后面有类似的扩展基本都要用STACK。 注意最后必须保证STACK是空的才表示正确。 Time: O(n) Sapce: O(n) 阅读全文
posted @ 2016-11-06 05:27 哇呀呀..生气啦~ 阅读(92) 评论(0) 推荐(0)