`
lueye
  • 浏览: 13603 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

单链表的反转

阅读更多

       算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。尤其对于我等应届毕业生来说,能出得了手的也只有这些了。

       对于校园招聘来说,互联网公司还是喜欢拿单链表的反转考验我们应届生的。话不多说,代码如下:


 

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);
	}
}

 
 

  • 大小: 19.2 KB
0
2
分享到:
评论

相关推荐

    C++ 单链表反转 C++ 单链表反转

    单链表反转是一个常见的操作,它将链表中的节点顺序颠倒。给定的代码实现了一个函数`Reverse`来完成这个任务。下面我们将详细讨论这个反转过程。 首先,我们需要检查输入的链表头是否为空。如果为空,则无需反转,...

    Java算法篇-单链表反转详解.pptx.pptx

    单链表反转是一个经典的问题,其主要目的是通过改变节点间的指向关系,将链表的顺序完全颠倒。这个过程通常涉及到三个主要步骤: 1. 保存头节点,以便后续操作。 2. 遍历链表,每到一个节点,就将当前节点的next指针...

    单链表反转

    单链表反转是面试时经常会遇到的问题,之前只是在数据结构里用伪代码实现过单链表反转。为落实亲手编写每一个程序的目标,在这里用java实现反转。方法有很多,这里只写最优的。时间复杂度O(n),空间复杂度O(1)。也...

    单链表反转python实现代码

    单链表反转的python实现,简洁详细易于理解,附带注释易于分析

    C语言实现单链表反转

    "C语言实现单链表反转" C语言实现单链表反转是指在C语言中实现单链表的反转操作,即将链表的结点顺序颠倒过来。这个操作需要对指针有深入的理解,否则很容易出现指针丢失和内存泄漏的问题。 一、理解指针 要想写...

    C语言O(1)空间复杂度实现单链表反转

    用C语言O(1)空间复杂度实现单链表反转,C语言数据结构的作业,有需要的尽管拿去用吧,赚点小分,无聊腻了

    单链表反转 链表相交

    实现了一个简单的java版本的单链表,链表反转和链表是否相交如果相交求相交节点。关于链表是否相交是一次阿里的面试的在线试题,挂的很彻底。然后就在网上找了几个实现思路自己用java做了一个简单的实现....

    单链表实现反转的3种方法示例代码

    单链表反转的3种方法实现示例代码 单链表是一种常见的数据结构,它在计算机科学和软件工程中广泛应用。单链表的反转是面试中经常会遇到的问题,本文将为大家介绍单链表实现反转的3种方法,并通过示例代码进行详细的...

    单链表反转python实现代码示例

    2. 递归实现单链表反转 递归方法则利用函数自身来实现链表的反转。基本思路是从链表的第二个节点开始,依次将每个节点的next指针指向前一个节点,直到链表的末尾。递归函数的终止条件是链表为空或只有一个节点。...

    链表创建,单链表反转,逆序打印等等

    以上就是关于链表创建、单链表反转以及逆序打印的基本介绍。这些操作在面试中经常被考察,理解并熟练掌握它们对于成为一名合格的程序员至关重要。链表作为数据结构的基础,它的应用广泛且灵活,理解和运用好链表能...

    算法-单链表遍历及反转(java)(csdn)————程序.pdf

    单链表反转是指将单链表的顺序颠倒,使得原来最后一个节点变成第一个节点,原来第一个节点变成最后一个节点。 标签解释 由于没有提供标签信息,所以本节不进行解释。 部分内容解释 代码主要包括两个部分:单链表...

    单链表的就地反转

    单链表的就地反转 单链表的就地反转是指在不使用额外的存储空间的情况下,反转单链表的节点顺序。该操作对链表的结构进行了重新组织,使得链表的节点顺序被反转。 在该实验报告中,我们将学习如何使用C语言来实现...

    单链表的反转,冒泡和选择排序

    通过这些文件,你可以进一步了解和学习单链表反转、冒泡排序和选择排序的具体实现细节。在实际编程中,理解并熟练掌握这些基础知识是非常重要的,它们不仅在面试中常被问到,也是构建更复杂数据结构和算法的基础。

    链表反转的C语言程序

    定义一个5个节点的单链表,然后通过指针的移动调换链表节点的顺序,从而实现链表的反转

    面试单链表问题总结-反转,逆序输出,判环,求交点

    首先,**单链表反转**是一个常见的面试题。单链表的基本结构由节点组成,每个节点包含数据和指向下一个节点的指针。反转链表就是将原本的前后关系颠倒,例如原本的A-&gt;B-&gt;C变成C-&gt;B-&gt;A。反转链表的方法通常有两种:...

    单链表的基本操作面试题

    单链表反转涉及更改每个节点的指针方向,使其指向其前一个节点。可以通过迭代或递归实现。迭代法通常使用三个指针:当前节点、前一个节点和临时节点,依次处理每个节点;递归法则从最后一个节点开始,每次调用自身...

    python如何实现单链表的反转

    在本篇内容中,我们将探讨如何用Python实现单链表的反转操作。 首先,我们需要创建一个表示链表节点的类`Node`: ```python class Node: def __init__(self, data=None, next=None): self.data = data self....

    单链表的反转(原地反转法 && 新建链表插入法)

    c++ 实现单链表的反转(原地反转法 && 新建链表插入法)

Global site tag (gtag.js) - Google Analytics