翻转链表绝对是终点项目,应该掌握的,这道题要求的是翻转一个区间内的节点,做法其实很相似,只不过要注意判定开始是头的特殊情况,这样head要更新的,还有就是要把翻转之后的尾部下一个节点保存好,要么链表就断掉了。一趟就可以,遇到节点直接翻转,最后把整个翻转的链表再翻转一次,就实现了。
class Solution {
public:
    ListNode *reverseBetween(List...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 15:05:06   
                                阅读次数:
225
                             
                    
                        
                            
                            
                                递归实现当然太简单,也用不着为了ac走这种捷径吧。。非递归实现还挺有意思的。
树的非递归遍历一定要借助栈,相当于把原来编译器做的事情显式的写出来。对于中序遍历,先要访问最左下的节点,一定是进入循环后,不断的往左下走,走到不能走为止,这时候,可以从栈中弹出访问的节点,相当于“左根右”过程的“根”,然后应该怎么做呢?想一下中序遍历完根节点之后应该干嘛,对,是走到右子树中继续重复这个过程,但是有一点,...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 14:57:08   
                                阅读次数:
211
                             
                    
                        
                            
                            
                                字符串的问题真是难,一般递归比较好写代码,一般地归还会超时,而且测试用例特别多。。
这道题刚拿到手时直接慌了,这情况也太多了,后来冷静下来想想,其实还是比较单纯的。一个ip地址,肯定是四个整数加三个点构成,四个整数要满足什么呢,0~255嘛,还有呢,就是这四个整数必须正好把原来的字符串给用完。一开始忽略掉的一类测试用类是前面有0但实际这个数不是零的情况。
用什么来穷举呢,或者说穷举的对象是什么...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 14:54:11   
                                阅读次数:
210
                             
                    
                        
                            
                            
                                Path Sum IGiven a binary tree and a sum, 
determine if the tree has a root-to-leaf path such that adding up all the values 
along the path equals the gi...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 13:21:59   
                                阅读次数:
320
                             
                    
                        
                            
                            
                                一点小错,两次过,基本思想是先比较头元素,哪个小就在哪个list的基础上插入,需要考虑两种不同的结束方式 1 
/** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int 
val; 5 *...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 09:21:59   
                                阅读次数:
273
                             
                    
                        
                            
                            
                                没考虑到的情况有:input: [, expected: false; 语法上也犯了错误: 
我定义的stack的泛型为char,泛型不能为primitive datatype,Primitive types such ascharcannot be 
used as type parameters i...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 09:19:01   
                                阅读次数:
252
                             
                    
                        
                            
                            
                                两次通过,考虑漏了一种情况:input: {1}, 1, 
这种情况的output是null,应特殊处理; 同时,另外一个问题是:当要被删除的元素是最后一个元素的时候,我的方法又只能从头找起,不够简洁 1 /** 2 * 
Definition for singly-linked list. 3 *.....
                            
                            
                                分类:
其他好文   时间:
2014-05-09 08:57:45   
                                阅读次数:
278
                             
                    
                        
                            
                            
                                这道题就是找规律啊!!!想想啊,11和10是可以连续的,那么10和11也是可以连续的。下面是AC代码: 
1 /** 2 * The gray code is a binary numeral system where two successive values 
differ in on...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 07:38:17   
                                阅读次数:
325
                             
                    
                        
                            
                            
                                有关这种字符串的题真是层出不穷啊,而且他们都有这样一个特点,就是递归的思路如此简单,但一定超时!
这个时候,dp就朝我们缓缓走来。递归超,dp搞!这道题的状态转移方程还是比较好写的,用ispart[i][j]代表s1贡献i长,s2贡献j长时,能不能形成s3的前i+j个字符。更新可以按照行或者列开始,s3的前i+j个字符,可以是((i-1)+1)+j构成,也可以是i+((j-1)+1)构成,这取决...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 06:16:48   
                                阅读次数:
232
                             
                    
                        
                            
                            
                                原地归并。下面是AC代码: 1 public void merge(int A[], int m, 
int B[], int n) { 2 3 int len = A.length; 4 //first copy m elements of A...
                            
                            
                                分类:
其他好文   时间:
2014-05-09 05:59:54   
                                阅读次数:
297