链表
文章平均质量分 63
ych_ding
这个作者很懒,什么都没留下…
展开
-
leetcode 删除单链表中的倒数第k个元素
问题分析:原创 2014-12-10 21:46:22 · 2978 阅读 · 0 评论 -
leetcode linked-list-cycle
问题描述:Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?https://oj.leetcode.com/problems/linked-list-cycle/问题分析:C语言代码:b原创 2014-11-26 22:47:44 · 486 阅读 · 0 评论 -
判断单链表L1 L2是否相交
/* * 判断单链表L1 L2是否相交 * 1. 将L1链接成环。 * 2. 如果相交,从L2出发一定能够访问到L1. * * 还有一种很直观的算法,借助额外的存储空间。 */ bool is_intersection(node *L1, node *L2) { if (!L1 || !L2) return true; node * h = L1; /* 将L1原创 2014-07-15 16:24:00 · 496 阅读 · 0 评论 -
内存泄露错误
/* * 释放单向循环链表中的全部元素,并将链表头指针设置为空。 * 使用局部变量cur,nxt。 * 下面的程序中存在内存泄露 想以一种简洁的方式进行更正,但是目前还 * 没有想到。 */ void free(struct node* &head) { if (NULL == head) return; struct node *cur, *nxt;原创 2014-07-01 11:41:07 · 531 阅读 · 0 评论 -
leetcode sort-list
https://oj.leetcode.com/problems/sort-list/点击打开链接题目描述:Sort a linked list in O(n log n) time using constant space complexity.单链表排序要求时间复杂度O(n log n),并归排序时间复杂度满足要求,并且并归排序比较适合链表。使用并归排序需要解决如下3个问题原创 2014-11-25 22:10:23 · 411 阅读 · 0 评论 -
单链表的分隔
void partition_bruteforce(node *head, node * &front, node * &back) { if (!head) { front = NULL; back = NULL; return; } int n = 0; node *p = NULL; for (p = head; p; p = p->next) /原创 2014-07-14 20:20:40 · 501 阅读 · 0 评论 -
leetcode insertion-sort-list
单链表的插入排序问题描述:Sort a linked list using insertion sort.https://oj.leetcode.com/problems/insertion-sort-list/点击打开链接问题分析:单链表的插入排序,插入排序是一个基本的排序方法,因为链表不能够随机访问所以与array的简单排序有所差别。为了方便操作采用重新构造表头原创 2014-11-26 21:56:07 · 462 阅读 · 0 评论 -
单链表逆置
将单链表进行逆置ListNode* reverse(ListNode *head){if (!head || !head->next)return head;ListNode node, *hd = &node; node.next = NULL;while (head){ ListNode *tmp = head; head = head->next;tm原创 2014-11-25 22:42:23 · 440 阅读 · 0 评论 -
leetcode reorder-list
链表的重排序问题描述:Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given {1,2,3,4}, r原创 2014-11-26 22:19:46 · 456 阅读 · 0 评论