美文网首页
反转一个链表的思路

反转一个链表的思路

作者: graychen | 来源:发表于2017-12-07 14:12 被阅读0次

输入:A->B->C->D->E->NULL  输出:E->D->C->B->A->NULL

第一种使用while循环遍历直到最后一个节点

先贴出代码实现:

总结的思路:1 用一个对象(temp)保存下一个节点,以免丢失这个对象。

            2.把当前对象的下一个指向一个新的对象(pre)

            3.新的这个对象(pre) 赋值为当前的对象

            4.把当前对象赋值为下一个对象,也是的步骤1保存的对象 。

            5.循环以上步骤

详细的解析:

首先创建一个空的对象pre 。ListNode pre = null;

创建一个对象并赋值为要反转对象。ListNode cur = head;

创建一个while循环,条件是cur 不为空

第一次循环:

    1.创建一个临时对象保存当前对象A(A->B->C->D->E)的下一个指向:ListNode nextTemp = cur.next 这么做的目的是接下来要改变当前对象的下一个指向,以免丢失。此时nextTemp = B(B->C->D->E)

    2.将当前对象A(A->B->C->D->E)的下一个节点指向pre 。cur.next = pre ,执行此步骤后变成A->pre(null)。

    3.将pre这个对象赋值为当前的对象pre = cur;执行此步骤后变成A->pre(A)。

    4.将当前的对象变成之前的下一个节点nextTemp 。cur = nextTemp  执行此步骤后变成

pre变成A对象,cur变成B(B->C->D->E)。

第二次循环:

        1.创建一个临时变量保存当前对象B(B->C->D->E)的下一个指向:ListNode nextTemp = cur.next。

这个时候nextTemp = C(C->D->E)

        2.将当前对象B(B->C->D->E)的下一个节点指向pre(A)这个对象,变成了B-A;

        3.将pre这个对象赋值为当前对象cur(B),变成pre(B->A)

        4.将当前对象变成之前的下一个节点nextTemp 。

执行此步骤后变成cur变成C(C->D->E),pre变成B(B->A)对象

以此循环知道cur为null 退出循环

最后返回pre这个对象。pre = E(E->D->C->B->A)

相关文章

  • 反转链表

    原题链接 反转链表 题目描述输入一个链表,反转链表后,输出新链表的表头。 题目要求很简单,看一下解题思路。解题思路...

  • 反转单链表Java实现

    问题描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 解题思路 为了实现反转单链表,...

  • 链表常见问题

    反转单向链表思路使用一个临时节点当做缓冲节点,通过绕圈完成反转 反转部分链表题:给定一个链表,及反转的范围,完成反...

  • 《剑指offer》— JavaScript(15)反转链表

    反转链表 题目描述 输入一个链表,反转链表后,输出链表的所有元素。 思路 (本题链表默认无头结点) pHead为当...

  • 《剑指offer》(十五)-反转链表

    反转链表 考点:链表 题目描述 输入一个链表,反转链表后,输出新链表的表头。 代码格式 解题一—递归 1.思路假设...

  • 剑指offer面试题16----反转链表

    题目:输入一个链表,反转链表后,输出链表的所有元素。 思路:为了反转一个链表,需要调整链表中指针的方向。为了调整结...

  • 剑指Offer - 15 - 反转链表

    题目描述 反转链表 输入一个链表,反转链表后,输出新链表的表头。 思路 用一个指针来保存链表倒序,遍历一次链表,每...

  • 反转链表

    《剑指offer》面试题24:输入一个链表,反转链表后,输出新链表的表头。 思路:反转链表就是将链表中每一个节点的...

  • 剑指 offer:15、反转链表

    15. 反转链表 题目描述 输入一个链表,反转链表后,输出新链表的表头。 解题思路: 通过3个指针遍历一遍链表,实...

  • LeetCodeDay12 —— 反转链表&合并两个有序链表

    206. 反转链表 描述 反转一个单链表。 进阶 链表可以迭代或递归地反转。你能否两个都实现一遍? 思路 迭代版本...

网友评论

      本文标题:反转一个链表的思路

      本文链接:https://www.haomeiwen.com/subject/pdvdixtx.html