剑指Offer(牛客网) 反转链表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer(牛客网) 反转链表相关的知识,希望对你有一定的参考价值。


来源:
​​​ https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking​​​

题目描述
输入一个链表,反转链表后,输出新链表的表头。

/*
public class ListNode
int val;
ListNode next = null;

ListNode(int val)
this.val = val;

*/
1.双指针
public class Solution
public ListNode ReverseList(ListNode head)
if(head==null) return null;
ListNode pre = null;//保存head的前一个结点
ListNode next = null;//保存head的后一个结点
while(head!=null)
next = head.next;
head.next = pre;
pre = head;
head = next;

return pre;

2.递归

class Solution 
public ListNode reverseList(ListNode head)
if(head == null||head.next == null)
return head;

ListNode cur = reverseList(head.next);
head.next.next = head;
head.next = null;
return cur;


以上是关于剑指Offer(牛客网) 反转链表的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer(牛客网) 链表中环的入口结点

剑指Offer(牛客网) 合并两个排序的链表

剑指Offer(牛客网) 两个链表的第一个公共结点

牛客网剑指offer专题python解答JZ1---JZ12持续刷题中

牛客网剑指offer专题python解答JZ1---JZ12持续刷题中

牛客网剑指offer专题python解答JZ1---JZ12持续刷题中