博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【IT笔试面试题整理】反转链表
阅读量:5169 次
发布时间:2019-06-13

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

【试题描述】定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点

【参考代码】

方法一:

1     public static Link reverseLinkList(Link head) 2     { 3         if (head == null || head.next == null) 4             return head; 5  6         Link pre = null; 7         Link cur = head; 8         Link back = head.next; 9 10         while (back != null)11         {12             cur.next = pre;13             pre = cur;14             cur = back;15             back = back.next;16         }17         cur.next = pre; // 当current为最后一个节点时,back为null,所以要再指向前节点18         head = cur;19 20         return head;21     }

 

方法二:

1     public static Link reverseLinkList2(Link head) 2     { 3         if (head == null || head.next == null) 4             return head; 5         Link p1 = head; 6         Link p2 = p1.next;// p2其实记录的下一步递归过程后的尾结点 7         head = reverseLinkList2(p2); 8         p2.next = p1; 9         p1.next = null;10         return head;11     }

 

转载于:https://www.cnblogs.com/WayneZeng/p/9290760.html

你可能感兴趣的文章
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
Struts 2 常用技术
查看>>
树形DP
查看>>
Springboot实现上传文件接口,使用python的requests进行组装报文上传文件的方法
查看>>
python flask解决上传下载的问题
查看>>
语法测试
查看>>
CES1
查看>>
CES2
查看>>
python 数据类型_字典和集合
查看>>
一种并行随机梯度下降法
查看>>
文件方式实现完整的英文词频统计实例
查看>>
ListControl的用法
查看>>
单个SWF文件loading加载详解(转)
查看>>
SQLServer中的CTE通用表表达式
查看>>
linux第1天 fork exec 守护进程
查看>>
Ajax原理学习
查看>>
最新最潮的24段魔尺立体几何玩法(2016版)
查看>>
C# 3.0 LINQ的准备工作
查看>>
CodeForces - 449D Jzzhu and Numbers
查看>>