2016年8月3日

链表:按照左右半区的方式重新组合单链表

摘要: 题目: 给定一个单链表的头部节点head,链表长度为N,如果N为偶数,那么前 N/2个节点算作半左区,后N/2个节点算右半区;如果N为奇数,那么前N/2为左半区,后半区N/2+1个节点为右半区。左半区从左向右记为 L1->L2->...,右半区从左到右依次记为 R1->R2->...,则链表调整为 阅读全文

posted @ 2016-08-03 21:34 Traveling_Light_CC 阅读(285) 评论(0) 推荐(0) 编辑

链表:删除链表中倒数第K个节点

摘要: 问题:实现一个函数,可以删除链表中倒数第K个节点。 要求时间复杂度为 O(N),额外空间复杂度为 O(1)。 分析:让链表从头开始走到尾,每移一步,就让 K 值减一,当链表走到结尾时,如果 K 值大于0,说明不用调整链表,因为链表根本没有倒数第 K 个节点,此时将原链表返回即可;如果 K 值等于0, 阅读全文

posted @ 2016-08-03 20:52 Traveling_Light_CC 阅读(321) 评论(0) 推荐(0) 编辑

链表:合并两个有序链表

摘要: 题目: 给定两个有序单链表的头节点 head1 和 head2,请合并两个有序链表,合并后的链表依然有序,并返回合并后的头节点。 例如: 0->2->3->7->null 1->3->5->7->9->null 0->1->2->3->3->5->7->7->9->null 分析: 1. 如果某个链 阅读全文

posted @ 2016-08-03 20:44 Traveling_Light_CC 阅读(1120) 评论(0) 推荐(0) 编辑

链表:删除无序链表中值重复出现的节点

摘要: 题目: 给定一个无序单链表的头结点head,删除值重复出现的节点。 例如:1->2->3->3->4->4->2->1->1->null,删除值重复的节点之后为 1->2->3->4->null。 方法一:利用哈希表。时间复杂度O(N),空间复杂度O(N) 方法二:类似选择排序的过程,比如本题例子中 阅读全文

posted @ 2016-08-03 19:53 Traveling_Light_CC 阅读(227) 评论(0) 推荐(0) 编辑

链表:两链表相交的一系列问题

摘要: 题目: 在本题中,单链表可能有环,也可能无环。给定两个单链表的头节点 head1 和 head2,这两个链表可能相交,也可能不相交。请实现一个函数,如果两个链表相交,请返回相交的第一个节点;如果不相交,返回 null 即可。 要求:如果链表1和2的长度分别为M、N,时间复杂度请达到O(M+N),额外 阅读全文

posted @ 2016-08-03 15:47 Traveling_Light_CC 阅读(165) 评论(0) 推荐(0) 编辑

链表:将单链表按值划分为左边小、中间相等、右边大的形式

摘要: 题目: 给定一个单向链表的头节点 head,节点的值类型是整数,再给定一个整数 pivot。实现一个调整链表的函数,将链表调整为左边部分都是小于 pivot 的节点,中间部分值都是等于 pivot 的节点,右边都是值大于 pivot 的节点。除这个要求外,对调整后的节点顺序没有更多要求。 例如:链表 阅读全文

posted @ 2016-08-03 14:38 Traveling_Light_CC 阅读(494) 评论(0) 推荐(0) 编辑

链表:判断一个链表是否为回文结构

摘要: 题目:给定一个链表头节点 head,请判断链表是否为回文结构 例如: 1-->2-->1,返回 true; 1-->2-->2-->1,返回 true; 15-->6-->15,返回 true; 1-->2-->3,返回 false; 进阶: 如果链表长度为 N,时间复杂度为 O(N),额外空间复杂 阅读全文

posted @ 2016-08-03 11:14 Traveling_Light_CC 阅读(439) 评论(0) 推荐(0) 编辑

链表:约瑟夫环

摘要: 题目: 输入:一个环形单链表的头节点 head 和报数的值 m 返回:最后生存下来的结点,且这个节点自己组成环形单向链表,其他节点都删掉 进阶: 如果链表节点数为 N,想在时间复杂度为 O(N)时完成原问题的要求,该怎么实现? 先看看普通的解法: 1. 如果链表为空或节点数为1,或者m的值小于1,则 阅读全文

posted @ 2016-08-03 10:03 Traveling_Light_CC 阅读(128) 评论(0) 推荐(0) 编辑

链表:反转链表

摘要: 题目:实现反转单向和双向链表的函数 要求:如果链表长度为N,时间复杂度要求为 O(N),额外空间复杂度为 O(1) 变形:给定一个单向链表的头结点head,以及两个整数 from 和 to,在单向链表上把第 from 个节点到 to 个节点这一部分进行反转 分析:本题很简单,解题时注意做到不出错即可 阅读全文

posted @ 2016-08-03 09:43 Traveling_Light_CC 阅读(182) 评论(0) 推荐(0) 编辑

导航