链表
山楂加冰糖
这个作者很懒,什么都没留下…
展开
-
查找单链表倒数第K个元素
查找链表倒数第K个元素看到这个题目,是不是都想着,先遍历一遍单链表,记录单链表元素的个数(即单链表的长度)n,然后再遍历一遍单链表找出正数第n-k个元素。但这样做要遍历两次单链表,显然,上述方法还可以进行优化。由于单链表只能从头到尾访问链表的各个结点,因此,如果要找出链表的倒数第k个元素只能从头到尾进行遍历查找,在查找过程中,设置两个引用(相当于指针的作用),让其中一个指针比令一个指针先前移k-1步,然后两个指针同时向前移动。循环直到先行指针值为null时,另一个指针所指的位置就是我们要找的位置。而且原创 2021-03-16 11:28:21 · 500 阅读 · 1 评论 -
如何实现单链表的增删改查
如何实现单链表的增删改查1.链表的特点(1)可以用任意一组存储单元来存储单链表中的元素(存储单元可以是不连续的)(2)存储每个数据元素的值外,还必须存储指示直接后继元素的信息2.java语言中,用如下数据类来存储结点信息class Node{ Node next = null; int data; public Node(int data) {this.data = data;} }3.单链表的插入操作将值为x的新结点插入到单链表的第i个结点的位置上,原创 2021-03-15 14:44:55 · 108 阅读 · 0 评论 -
如何删除链表的重复元素
如何删除链表的重复元素看到这个题目,最容易想到的就是遍历链表,把遍历到的值存到Hashtable中,在遍历过程中,若当前的值在Hashtable中存在,则说明这个数据是重复的,因此可以删除。public void deleteDuplecate(Node head){ Hashtable<Integer,Integer>table = new Hashtable<Integer,Integer>(); Node tmp = head; Node pre = nu原创 2021-03-15 15:23:23 · 205 阅读 · 0 评论