题目链接题意:给出单链表头指针,要求交换链表中每一对相邻的结点.注意:不可以改变链表中结点的值,只可以使用常量空间.附上代码:
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int
val;...
分类:
其他好文 时间:
2014-05-23 10:43:49
阅读次数:
249
问题描述
对一个单链表进行插入排序,head指向第一个结点。
代码
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/...
分类:
其他好文 时间:
2014-05-22 10:15:43
阅读次数:
233
题目:给出一个连续的链表,要求你将其结构改变反转。
例如:
输入:1 2 3 4 5
输出:5 4 3 2 1
#include
#include
#include
typedef struct ListNode{
int m_pKey;
ListNode * m_pNext;
};
ListNode *ListReverse(ListNode *pHea...
分类:
其他好文 时间:
2014-05-22 08:16:58
阅读次数:
210
题目链接题意: 给出单链表, 判断是否存在环.方法就是大步小步...附上代码: 1 /** 2 *
Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 *
ListNode *next...
分类:
其他好文 时间:
2014-05-20 01:46:54
阅读次数:
308
题目:移除linked-list从尾到头的第N个元素自我思路:因为题目给出的N是从链表尾开始计算的,单链表不存在从子指向父亲的反向指针,因此我先计算链表的整个长度len,然后用len
- N来表示正向被删除元素所在的位置。代码:public ListNode removeNthFromEnd(Lis...
分类:
其他好文 时间:
2014-05-19 20:54:33
阅读次数:
378
题目:合并两个有序单链表思路:一开始想复杂了,以为必须在原链表上修改(绕来绕去还AC了,但是思路相当绕),其实没有,按照正常地合并两个数组同样的方法也对。代码:public
ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 ...
分类:
其他好文 时间:
2014-05-19 07:48:32
阅读次数:
314
在 O(nlogn)的时间内对一个链表进行排序。。明显是要用归并或者快排
第一次知道说原来归并也可以用链表来写,被刷了下三观。。。。。用快慢指针的方法找分界点。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNod...
分类:
其他好文 时间:
2014-05-14 15:03:49
阅读次数:
230
Sort a linked list using insertion
sort.//用到O(N)的额外空间public class Solution { public ListNode
insertionSortList(ListNode head) { if(head==nul...
分类:
其他好文 时间:
2014-05-11 23:59:09
阅读次数:
405
class Solution {public: ListNode
*insertionSortList(ListNode *head) { if (head == NULL) return NULL; ListNode*
sorted_head = head; ...
分类:
其他好文 时间:
2014-05-10 20:39:14
阅读次数:
419
坑爹地多次过,全都是写程序时不注意的小问题,书写习惯还需要进一步改善。遇到的bug有:忘记return语句;定义ListNode
runner = head.next,却将判断head==null的情况放在这句之后;
忘记了新的head将不会是原来的那个head,而是head.next;所以以后遇到...
分类:
其他好文 时间:
2014-05-10 06:59:37
阅读次数:
320