
单链表
gavenyeah
北京师范大学计算机专业研究生
展开
-
java单链表基本操作(二)--指定位置增加节点
/** * @author Gavenyeah * @date Start_Time:2016年4月1日 上午11:00:13 * @date End_Time:2016年4月1日 上午11:06:32 */ /* * 将新节点增加在指定位置*/public class AddNode { public static void main(String[] args) {原创 2016-04-01 11:24:27 · 4399 阅读 · 0 评论 -
Java单链表基本操作(一)--顺序查找
本系列博文,将围绕一下几个方面: Java单链表基本操作: (一)顺序查找; (二)指定位置增加节点; (三)删除当前节点; (四)单链表反转; (五)输出倒数第K个节点; (六)删除重复节点; (七)合并两个排序单链表; (八)交换相邻节点的值;本节讲述最基础的顺序查找,主要熟悉一下单链表的属性和基本操作。/* * 查找值为num的元素位置,没有返回-1*/public cl原创 2016-04-01 10:58:42 · 7483 阅读 · 1 评论 -
Java单链表基本操作(九)--交换相邻节点对的值
本题目来源于:Leetcode: 24.swap nodes in pairs(单链表中交换节点对的值) Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should return the list as 2->1->4->3.原创 2016-04-01 16:29:27 · 4576 阅读 · 1 评论 -
Java单链表基本操作(八)--合并两个有序单链表
package listnode;/** * @author Gavenyeah * @date Start_Time:2016年4月1日 下午15:01:47 * @date End_Time:2016年4月1日 下午15:23:41 */public class MergeSeqList { public static void main(String[] args)原创 2016-04-01 16:17:36 · 4273 阅读 · 1 评论 -
Java单链表基本操作(七)--排序
单链表的插入操作比数组麻烦,因为每次都都要从头节点开始往后遍历,头节点也需要单独处理package listnode;/** * @author Gavenyeah * @date Start_Time:2016年4月1日 下午14:07:04 * @date End_Time:2016年4月1日 下午15:55:04 */public class SortList { p原创 2016-04-01 16:01:17 · 6069 阅读 · 1 评论 -
Java单链表基本操作(六)--删除重复节点;
package listnode;public class DeleteDuplecate_SingleList { public static void main(String[] args) { Node head=ListNode.getSingleList(); ListNode.printList(head); deleteNode(原创 2016-04-01 12:01:58 · 2160 阅读 · 0 评论 -
Java单链表基本操作(五)--查找倒数第K个节点
package listnode;/** * @author Gavenyeah * @date Start_Time:2016年4月1日 上午11:47:44 * @date End_Time:2016年4月1日 上午11:55:24 */public class LastKNode { public static void main(String[] args) {原创 2016-04-01 11:58:15 · 2506 阅读 · 0 评论 -
Java单链表基本操作(四)--单链表反转
单链表反转是笔试面试中考察最多的算法之一,是单链表里必须要熟练掌握的算法。/** * @author Gavenyeah * @date Start_Time:2016年4月1日 上午11:38:18 * @date End_Time:2016年4月1日 上午11:46:13 */public class ReverseSingleList { public static v原创 2016-04-01 11:47:11 · 2207 阅读 · 1 评论 -
Java单链表接本操作(三)--删除当前节点
单链表中要删除当前节点,如果当前节点不是头节点,则无法使前面的节点直接指向后面的节点,这时候我们可以换一种思路,即:将当前节点的下一节点值附给当前节点,然后删除当前节点的下一节点,这样就等效为删除当前接节点了。/** * @author Gavenyeah * @date Start_Time:2016年4月1日 上午11:00:13 * @date End_Time:2016年4月1日原创 2016-04-01 11:36:25 · 2437 阅读 · 0 评论 -
Java单链表基本操作(十)--判断单链表是否有环并输出环长度以及环的入口节点
本文解决三个问题:1.单链表是否有环? 2.有则输出环的长度? 3.找到环的入口节点?分析: 定义两个指针fast 和slow,fast每次向后移动两个节点,slow每次想后移动一个节点。 1.如果没有环,则fast首先到达链表结尾; 2.链表有环的情况下:fast与slow两次相遇,slow中间走过的节点处即为环的长度; 3.找环的入口节点稍微复杂点,有如下的推导过程:相遇的时候,sl原创 2016-05-18 15:35:41 · 3689 阅读 · 1 评论