博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链表逆序
阅读量:4572 次
发布时间:2019-06-08

本文共 798 字,大约阅读时间需要 2 分钟。

问题来源:选自LeetCode 206:

问题描述:

  反转一个单链表。

  示例:

    输入: 1->2->3->4->5->NULL

    输出: 5->4->3->2->1->NULL

题目给定信息:

问题分析:

  一直链表的头结点指针,再不申请额外空间的情况下实现链表的逆序,我们的思路就是循环遍历整个链表,做到每遍历一个链表节点,就逆置一个链表节点,先创建一个新链表的头结点指针new_head并赋值为空,通过修改head指针和new_head指针的指向关系来实现该功能。

 

 

函数实现:

1 public ListNode reverseList(ListNode head) { 2         ListNode new_HeadListNode=null; 3         while(head!=null){ 4             //保存原链表当前head指针的下一个节点的位置 5             ListNode temp=head.next; 6             //把当前head指针的下一个位置指向new-head 7             head.next=new_HeadListNode; 8             //保证每次的new_head指针都是新链表的表头位置 9             new_HeadListNode=head;10             //把刚才在temp变量中保存的head指针的下一个位置赋值给head11             head=temp;12         }13         return new_HeadListNode;14     }

运行结果:

 

 

 

转载于:https://www.cnblogs.com/BaoZiY/p/10685144.html

你可能感兴趣的文章
底层原理
查看>>
21. Merge Two Sorted Lists
查看>>
创建数组
查看>>
dict使用
查看>>
ASP.NET MVC的帮助类HtmlHelper和UrlHelper
查看>>
02_ListActive中响应事件 并LogCat输出
查看>>
doubleclick adx note
查看>>
Celery框架
查看>>
[c#]asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息
查看>>
[转载,感觉写的非常详细]DUBBO配置方式详解
查看>>
Android在Eclipse上的环境配置
查看>>
面向对象(五)
查看>>
android平台下使用点九PNG技术
查看>>
Python学习3,列表
查看>>
最长回文子串
查看>>
JAVA基础-JDBC(一)
查看>>
js中for和while运行速度比较
查看>>
算法第5章作业
查看>>
7.9 练习
查看>>
基于ArcGIS JS API的在线专题地图实现
查看>>