2015年10月19日
摘要: public class MethodOverrideVSOverload { //因为参数与Object的equals方法不同,故没有重写equals方法,而是重载关系 public boolean equals(MethodOverrideVSOverload other) { System.... 阅读全文
posted @ 2015-10-19 21:29 qingfei 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 输入一个链表,反转链表后,输出链表的所有元素。 一开始我的做法非常复杂,因为我一次变了两个指针,导致要分别判断单数个结点和偶数个结点的情况。 反转链表要解决的两个问题就是 1.结点指向它的前驱 2.头结点变为其尾结点 当反转一个结点时,假设反转i,首先需要记录它的前驱,让它指向它的前驱... 阅读全文
posted @ 2015-10-19 15:42 qingfei 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 输入一个链表,从尾到头打印链表每个节点的值。 我一开始想到的是遍历这个链表,遍历过程中用一个ArrayList保存里面的值,然后再从尾到头遍历这个ArrayList,存储在新的ArrayList里面返回。 //使用另外一个ArrayList存储链表的方法 public static ArrayL... 阅读全文
posted @ 2015-10-19 11:16 qingfei 阅读(1284) 评论(0) 推荐(1) 编辑
摘要: 本来以为这题很简单,但是看要求,第一不能改变这个数组,第二只能使用O(1)的空间,第三时间复杂度小于O(n^2),就不能使用遍历数组的方式来解决了。 有两种方法,一种是利用Binary Search,一种是利用Floyd的cycle detection算法。 Binary Search M... 阅读全文
posted @ 2015-10-19 11:15 qingfei 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 这题是判断一个二叉树是否对称,如第一棵树。一开始我的想法很复杂,先把树序列化到数组中,再根据下标计算对称的位置进行判断。后来发现,假设上面的第二层两个结点为p和q,判断p的左孩子跟q的右孩子是否相等,p的右孩子跟q的左孩子是否相等即可。/**思路是层次遍历,每次两个结点出队,为p和q,若满足p.le... 阅读全文
posted @ 2015-10-19 11:14 qingfei 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 输入一个链表,输出该链表中倒数第k个结点。 看到这个题目,我们很容易想到一种做法,遍历两次链表,一次得到链表长度,另外一次得到倒数第k个结点。 不过要注意的是边界值的测试链表为空k大于链表长度 于是我的做法如下:public static ListNode FindKthToTa... 阅读全文
posted @ 2015-10-19 10:53 qingfei 阅读(260) 评论(0) 推荐(0) 编辑