LeetCode206-反转链表

LeetCode206-反转链表

最近全国疫情严重,待在家里没事干,马上又要准备春招了,最近刷刷题,记录一下!再说一句,武汉加油,大家出门记得戴口罩!

1、题目

反转一个单链表。
示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

2、思路

在这里插入图片描述

3、代码

c++

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        //判断边界
        if(!head) return NULL;
        auto a=head,b=head->next;
        while(b!=NULL) 
        {
            auto c=b->next;
            b->next=a;
            a=b;
            b=c;
        }
        head->next=NULL;
        return a;
    }    
};

Java

class Solution {
    public ListNode reverseList(ListNode head) {
        //申请节点,a和 b,c
        if(head==null) return null;
        ListNode a=head,b=head.next;
        while(b!=null) {
            ListNode c=b.next;
            b.next=a;
            a=b;
            b=c;
        }
        head.next=null;
        return a;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章