【链表】力扣206反转链表
2024-01-10 09:09:01
题目
思路图解
代码实现
双指针代码实现
public static ListNode reverseList(ListNode head) {
// 初始化pre,cur
ListNode pre = null;
ListNode cur = head;
// 当cur为null时,说明反转结束
while(cur != null) {
// 临时保存cur.next节点的值
ListNode temp = cur.next;
// cur的next指向pre
cur.next = pre;
// 注意这两步步骤不能错
pre = cur;
cur = temp;
}
return pre;
}
递归方法
参考双指针法,动脑具体想一下,我把代码写出,看是否一样。
建议首先掌握双指针写法,递归写法是在双指针写法基础上而来。
public static ListNode reverseListDiGui(ListNode cur, ListNode pre) {
if (cur == null) {
return pre;
}
ListNode temp = cur.next;
cur.next = pre;
return reverseListDiGui(temp, cur);
}
文章来源:https://blog.csdn.net/weixin_44078354/article/details/135410640
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!