链表
燚涯
这个作者很懒,什么都没留下…
展开
-
将两个已排序的链表合并
Definition for singly-linked list. struct ListNode { int val; struct ListNode *next; };struct ListNode *mergeTwoLists(struct ListNode *l1, struct ListNode *l2) { if (l1 == NULL原创 2015-06-25 15:26:48 · 278 阅读 · 0 评论 -
将链表翻转
Definition for singly-linked list. struct ListNode { int val; struct ListNode *next; }; struct ListNode* reverseList(struct ListNode* head) { struct ListNode* pNode = head;原创 2015-06-25 15:14:44 · 325 阅读 · 0 评论 -
删除链表中的一个结点
struct ListNode { int val; struct ListNode *next; };struct ListNode* removeElements(struct ListNode* head, int val) { struct ListNode** prev = &head; struct ListNode* curr =原创 2015-06-25 15:03:30 · 395 阅读 · 0 评论 -
将一个链表后K个结点移到链表头
例如:给定链表: 1->2->3->4->5->NULL ; k = 2或k = 7 翻转后的结果为: 4->5->1->2->3->NULL.解题思路:(1)将单链表转换成循环链表 (2)根据K值确定新链表头的位置struct ListNode* rotateRight(struct ListNode* head, int k) {if (head == NULL || k == 0)原创 2015-07-15 21:55:44 · 574 阅读 · 0 评论