摘要: 本来的Iterator类里面是自带next()和hasNext()的,但是现在加了peek()之后会调用一次iterator.next(),然后iterator的顺序就乱了。 所以一旦被peek过我们就需要把这个被next()弹出的元素记录下来,如果再调用next就返回这个临时的元素,再调用peek 阅读全文
posted @ 2016-04-03 04:11 warmland 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 就是比之前的多一个flag记录有没有重复过一次 阅读全文
posted @ 2016-04-03 03:29 warmland 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 第10行是else,不是每次执行,这样连续重复数字才能被处理 阅读全文
posted @ 2016-04-01 06:27 warmland 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 把表看成是一棵以左上角为root的树,进行dfs,用used存放访问是否 要注意下标从0开始 1.20行index == word.length().就是说已经搜索的超过这个word的范围了,所以为真。如果index == word.length()-1,那么最后一位其实还没有搜 2.25行,col 阅读全文
posted @ 2016-03-31 08:55 warmland 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 基本上是一遍过的 阅读全文
posted @ 2016-03-31 08:18 warmland 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 是我熟悉的backtracking,但是依旧犯了蠢错误,调了半天 不过尝试了一种:如果不能有重复数字数字的时候,就在主函数里面设一个boolean数字,名字是used,意义如名字显示,当做一个参数传给helper函数 蠢错误在17行,helper(res, item, n, k, i+1)最后一个参 阅读全文
posted @ 2016-03-31 06:32 warmland 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 这道题磨磨唧唧好久 维持两个pointer,一个指向最后一个0的下一位,一个指向最后一个1的下一位,然后如果碰到0,就把两个指针一起往后移一格,如果是1,就把指向1那个指针往后移一格。 代码+思路依旧来自code ganker大神 ref:http://blog.csdn.net/linhuanma 阅读全文
posted @ 2016-03-31 06:28 warmland 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 基本上就是binary search,我掌握的还是不错的 先确定行,后确定列 bug记录: 1.high = length - 1.千万不要忘了减一,我上下两次都忘了 2.当比matrix最小里面还小的时候,注意判断,即17-19行 阅读全文
posted @ 2016-03-17 05:08 warmland 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 在原地置0: 1.检查第一行和第一列是否有0,有的话用boolean记下来,因为一会需要使用这个空间来记录是否行列里有0 2.检查1到最后行&1到最后一列是否有0,记录在第一行&列中 3.检查1到最后行&1到最后列如果行or列有0,那么置零 4.利用开始的flag,对第一行&第一列置零 阅读全文
posted @ 2016-03-17 04:49 warmland 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 主要是用一个stack记录,如果碰到的是“..”,那么如果堆栈不为空,弹出堆栈里面的前一个 如果是“.”,那么什么都不做 1 public String simplifyPath1(String path) { 2 if(path == null || path.length() == 0) { 3 阅读全文
posted @ 2016-03-11 05:30 warmland 阅读(131) 评论(0) 推荐(0) 编辑