题目来源:
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;
- }
- }
总结:
官方题解给出了递归和迭代两种方法。