摘要: 这道题很有趣,采用动态规划,开始的时候,DP在我的脑海中闪过,但是没有认真去思考,后来看了前辈说采用Dp,才决定自己认真试下。设这样一个标记数组boolean Db[0...len],Db[i]表示String[0...i]是否可segment的。当我考虑第i个字符时,应该这样想,以i为结尾的最后一... 阅读全文
posted @ 2014-04-24 23:27 echoht 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 链表有环无环的判断以及环的第一个节点的检测问题。编程之美上面也有。思路极为简单:1. 是否有环,通过快、慢两个指针从头一直走,快的每次走两步,慢的每次走一步,如果快的最后有遇到null,说明没有环;如果快的最后和慢的同时走到某个节点,则说明有环。2. 环的第一个节点,用两个指针,一个从链表的头部开始... 阅读全文
posted @ 2014-04-24 18:43 echoht 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 这道题参考了Discuss 中一个前辈的思路:把输入的链表分成前后两半,将后半链表reverse,最后merge成目标链表。 1 /** 2 * reorder the list in-place without altering the nodes' value 3 * 参考了... 阅读全文
posted @ 2014-04-24 18:36 echoht 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 二叉树的三种遍历,我之前写过这个的迭代实现,详见 这里。下面是Leetcode这道题的AC代码,同样采用迭代方法,但是我用了一个ArrayList去记录已经出栈的节点,这样当我考察栈顶节点是否直接弹出时,只要看它是否有左右子节点或者是它的左右子节点是否已经被弹出。这种方法可能在时间复杂度上更高。 1... 阅读全文
posted @ 2014-04-24 18:32 echoht 阅读(148) 评论(0) 推荐(0) 编辑