| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> java链表的反转 -> 正文阅读 |
|
[数据结构与算法]java链表的反转 |
链表的反转思想其实就是交换,定义两个游标分别为left和right, ? right指向链表头指针的下一个目的是当反转链表时断开链表时可以找到下一个链表的头,left指向链表头指针的前一个目的是反转链表时可以找到要反转的那个一个节点。 说一下顺序: ? ? ? ? 1)先让right指向head的下一个节点 ? ? ? ? 2)再让头指针指向的那个节点反转到left节点上,此时节点left指向的是head的前一个节点 ? ? ? ? ?3)再让left节点指向头结点的位置 ? ? ? ? 4)因为此时断开了之前的下一个节点,又因为right记录了之前的下一个节点,我这时让头结点指向?right指向的节点 ? ? ? ? 5)重复以上操作,直到head指向null时,让head指向left,此时left指向原链表最后一个节点? ? ? ? ?我们看链表进行反转的全部过程如下图: ? ? ? ? ? ? 最后反转成功: ? 代码如下: 先定义一个Listnode节点类 :
?定义链表Linklist类:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 14:46:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |