`

链表(一)单链表反转

阅读更多

一、单链表反转

 

                  我立马想到的解决思路:=》用一个堆栈、或者数组集合类的过一遍存储,倒叙重排

                                    百度后思路:=》非递归实现

                                                          =》递归实现

 

二、实现

 

 //print reverse use the not recursion
        public static Chain reverseMethod(Chain head) {
            Chain pre = null;
            Chain cur = head;
            Chain nex=null;

            while (cur!= null) {
                nex= cur.Next;
                cur.Next = pre;

                pre = cur;
                cur = nex;
            }
            return pre;
        }

 

  //print reverse use the recursion
        public static Chain recursionReverse(Chain head) {
         if(head==null||head.Next==null)return head;

         Chain temp = recursionReverse(head.Next);
         head.Next.Next = head;
         head.Next = null;
         return temp;

        }

 

分享到:
评论

相关推荐

    单链表反转 链表相交

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

    单链表反转python实现代码

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

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

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

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

    关于单链表以及搜集的一些面试题关于单链表的面试题 链表是以节点的方式来存储 每个节点都包含一个data域和next域,data域用来存放数据,next域用来指向下一个节点 链表的各个节点不一定是连续存储的 先来看普通...

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

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

    链表反转的C语言程序

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

    链表反转C++源代码

    设计一个将输入数据建立成链表、输出链表数据、利用原空间把链表反转的程序代码。

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

    对数据结构不是很熟,用c++实现的单链表反转,冒泡和选择排序,有问题的话请批评指正

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

    单链表的反转可以使用循环,也可以使用递归的方式 1.循环反转单链表 ...def nonrecurse(head): #循环的方法反转链表 if head is None or head.next is None: return head; pre=None; cur=head; h=head;

    基于Java实现的单链表基本操作之链表反转.zip

    单链表基本操作 基于Java实现的单链表基本操作之链表反转

    C语言实现单链表反转

    一、理解指针 看懂链表的结构并不是很难,但是一旦把它和指针混在一起,就很容易让人摸不着头脑。所以,要想写对链表代码,首先就要理解好指针。  有些语言有“指针”的概念,比如 C 语言;有些语言没有指针,...

    算法大全-面试题-链表-栈-二叉树-数据结构.docx

    单链表反转 2.找出单链表的倒数第4个元素 3.找出单链表的中间元素 4.删除无头单链表的一个节点 5.两个不交叉的有序链表的合并 6.有个二级单链表,其中每个元素都含有一个指向一个单链表的指针。写程序把这个二...

    Leetcode 反转链表.js

    LeetCode 206的题目是“反转链表”(Reverse Linked List),它要求将一个单链表的所有节点反转,并返回反转后链表的头节点。这是一个基础但非常重要的链表操作问题,它不仅考察了对链表数据结构的理解,还涉及到了...

    链表,建立链表、遍历链表、排序、去重、反转。。。。

    键盘输入一组元素,建立一个无头结点的单向链表(无序)。 (2).遍历(打印)单向链表。 (3).把单向链表中元素逆置(不允许申请新的结点空间)。 (4).在单向链表中删除所有的偶数元素结点。 (5).对链表排序,排序...

    算法大全-面试题-数据结构

    1.单链表反转 2.找出单链表的倒数第4个元素 3.找出单链表的中间元素 4.删除无头单链表的一个节点 5.两个不交叉的有序链表的合并 6.有个二级单链表,其中每个元素都含有一个指向一个单链表的指针。写程序把这个二级...

    数据结构与算法(四):Python实现单链表的反转、环的检测、两个有序链表的合并、判断单向链表是否是回文字符串

    根据链表数据结构的知识,进行初步练习,从单链表的反转、环的检测、两个有序链表的合并、判断单向链表是否是回文字符串四个题目着手,分别进行代码实现。 首先定义单链表类: # 结点类 class Node(object): def _...

    webVueBlog#Leetcode#链表反转2

    链表反转将单链表的链接顺序反转过来例如:输入:1->2->3->4->5输出:5->4->3->2->1使用两种方式解题* @return 返回倒序后的链表头部

    C语言之单向链表详解及实例代码

    单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有...

    数据结构和算法必知必会的50个代码实现

    ## 链表* 实现单链表、循环链表、双向链表,支持增删操作* 实现单链表反转* 实现两个有序的链表合并为一个有序链表* 实现求链表的中间结点 ## 栈* 用数组实现一个顺序栈* 用链表实现一个链式栈* 编程模拟实现一个...

    PHP实现链表的定义与反转功能示例

    主要介绍了PHP实现链表的定义与反转功能,结合实例形式分析了PHP链表的基本定义、添加、移除、遍历以及两种反转操作相关实现技巧,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics