算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。尤其对于我等应届毕业生来说,能出得了手的也只有这些了。
对于校园招聘来说,互联网公司还是喜欢拿单链表的反转考验我们应届生的。话不多说,代码如下:
package dataStructtion.linear; /** * 单链表的反转 * @author xiucai * */ public class SingleLinkedList_Reverse { public static <T> void reverse(SingleLinkedList<T> list){ Node<T> p=list.head.next; Node<T> pre=null;//指向前驱 Node<T> post=null;//指向后继 while(p!=null){ post=p.next; p.next=pre; pre=p; p=post; } list.head.next=pre; } public static void main(String[] args) { SingleLinkedList<String> list=new SingleLinkedList<String>(); list.append("a"); list.append("b"); list.append("c"); list.append("d"); System.out.println(list); reverse(list); System.out.println(list); } }
相关推荐
C++ 单链表反转 C++ 单链表反转 C++ 单链表反转
单链表反转是面试时经常会遇到的问题,之前只是在数据结构里用伪代码实现过单链表反转。为落实亲手编写每一个程序的目标,在这里用java实现反转。方法有很多,这里只写最优的。时间复杂度O(n),空间复杂度O(1)。也...
单链表反转的python实现,简洁详细易于理解,附带注释易于分析
用C语言O(1)空间复杂度实现单链表反转,C语言数据结构的作业,有需要的尽管拿去用吧,赚点小分,无聊腻了
实现了一个简单的java版本的单链表,链表反转和链表是否相交如果相交求相交节点。关于链表是否相交是一次阿里的面试的在线试题,挂的很彻底。然后就在网上找了几个实现思路自己用java做了一个简单的实现....
主要介绍了C语言实现单链表反转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
单链表的定义 单链表是一种线性数据结构,它包含一系列的节点,每个节点都含有一个值和指向下一个节点的引用。 单链表的特性 单链表具有动态性,可以灵活地插入和删除元素,但访问元素时需要从头节点开始顺序查找。 ...
主要介绍了单链表反转python实现,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
对数据结构不是很熟,用c++实现的单链表反转,冒泡和选择排序,有问题的话请批评指正
定义一个5个节点的单链表,然后通过指针的移动调换链表节点的顺序,从而实现链表的反转
单链表的就地反转
单链表的反转是常见的面试题目,下面这篇文章主要给大家介绍了关于单链表实现反转的3种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
单链表的基本操作:建立,查找,插入,删除等。 检查单链表是不是有环。 寻找单链表的中间元素。 单链表反转。
主要介绍了python如何实现单链表的反转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
关于单链表以及搜集的一些面试题关于单链表的面试题 链表是以节点的方式来存储 每个节点都包含一个data域和next域,data域用来存放数据,next域用来指向下一个节点 链表的各个节点不一定是连续存储的 先来看普通...
c++ 实现单链表的反转(原地反转法 && 新建链表插入法)
让一个单链表反转,就是头当做尾,尾做头,各个结点的指向反向
List-LinkedList 单链表就地反转 的代码的一种实现。