206. 反转链表(数据结构系列)


206. 反转链表

题目

反转一个单链表。
在这里插入图片描述

解题思路

注意不要跳进递归,而是用递归的定义来解决问题。
详细思路见书284

代码

/**
 * 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||head.next==null){
            return head;
        }
        ListNode last=reverseList(head.next);
        //让反转后的链表头节点指向它前面的那个节点
        head.next.next=head;//一般两个next连用:head.next代表节点.next代表指针。
        head.next=null;
        return last;
    }
}

文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录