
剑指offer之面试题24:反转链表
发布日期:2021-05-07 00:01:37
浏览次数:27
分类:精选文章
本文共 1294 字,大约阅读时间需要 4 分钟。
面试题24:反转链表
题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
思路:遍历链表,并用头插法插入到头节点之后。其中由于会出现链表断节,所以注意保存待插入节点的后一个节点。
代码实现:
package Question24;public class T01 { public static void main(String[] args) { Node head = new Node(0); Node node1 = new Node(1); Node node2 = new Node(2); Node node3 = new Node(3); Node node4 = new Node(4); Node node5 = new Node(5); Node node6 = new Node(6); head.next = node1; node1.next = node2; node2.next = node3; node3.next = node4; node4.next = node5; node5.next = node6; solve(head); Node cur = head.next; while(cur != null) { System.out.println(cur); cur = cur.next; } } public static Node solve(Node head) { if(head == null) return null; Node cur = head.next; head.next = null; Node temp; while(cur != null) { temp = cur.next; cur.next = head.next; head.next = cur; cur = temp; } return head; }}class Node { int id; Node next; public Node(int id) { this.id = id; } @Override public String toString() { return "Node{" + "id=" + id + '}'; }}
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月10日 12时23分59秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C++中找资源或者函数的方法
2019-03-06
一些留给自己的思考题(只求回过头来能够有所获)
2019-03-06
SQL函数返回表的写法
2019-03-06
delete对象时会自动调用类的析构函数
2019-03-06
C++ 子类对象直接赋值给父类对象可行,反过来不行
2019-03-06
linux下同一个动态库名为何辣么多的.so文件
2019-03-06
SQL联表的方式(逗号, Left Join, Right Join)
2019-03-06
牛客网输入输出举例
2019-03-06
字符串初始化时的注意点
2019-03-06
软考相关试题
2019-03-06
顺序表的操作
2019-03-06
常量表达式
2019-03-06
POD类型
2019-03-06
const与常量,傻傻分不清楚~
2019-03-06
Head First设计模式——迭代器模式
2019-03-06
MongoDB版本及存储引擎区别
2019-03-06
shell echo单行和多行文字定向写入到文件中
2019-03-06
AtCoder Beginner Contest 100 题解
2019-03-06
【数据结构】可持久化线段树初步
2019-03-06
Java高性能编程之CAS与ABA及解决方法
2019-03-06