题目来源:
leetcode题目,网址:LCR 024. 反转链表 - 力扣(LeetCode)
解题思路:
原地反转即可。
解题代码:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
if(head==null){
return null;
}
ListNode newHead=head;
ListNode pre=null;
ListNode thisOne=head;
ListNode nextOne=head.next;
while(nextOne!=null){
thisOne.next=pre;
pre=thisOne;
thisOne=nextOne;
nextOne=nextOne.next;
}
thisOne.next=pre;
return thisOne;
}
}
总结:
官方题解给出了递归和迭代两种方法。