leetcode206.反转链表

简介: leetcode206.反转链表

题目链接

1.png解法一:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* reverseList(struct ListNode* head){
    if(head==NULL)
        return NULL;
    struct ListNode* prev=NULL;
    struct ListNode* cur=head;
    while(cur)
    {
        struct ListNode* tmp=cur->next;
        cur->next=prev;
        prev=cur;
        cur=tmp;
    }
    return prev;
}

解法二:

struct ListNode* reverseList(struct ListNode* head){
    if(head==NULL||head->next==NULL)
        return head;
    struct ListNode* newHead=reverseList(head->next);
    head->next->next=head;
    head->next=NULL;
    return newHead;
}
目录
相关文章
|
10天前
|
索引
【力扣刷题】两数求和、移动零、相交链表、反转链表
【力扣刷题】两数求和、移动零、相交链表、反转链表
18 2
【力扣刷题】两数求和、移动零、相交链表、反转链表
|
1天前
|
算法 Java C语言
【经典算法】LeetCode25:K 个一组翻转链表(Java/C/Python3,Hard)
【经典算法】LeetCode25:K 个一组翻转链表(Java/C/Python3,Hard)
5 1
|
9天前
题目----力扣--回文链表
题目----力扣--回文链表
17 0
|
9天前
题目----力扣--合并两个有序链表
题目----力扣--合并两个有序链表
13 0
|
9天前
题目----力扣--反转链表
题目----力扣--反转链表
17 0
|
9天前
题目----力扣--链表的中间结点
题目----力扣--链表的中间结点
6 0
|
9天前
题目----力扣--移除链表元素
题目----力扣--移除链表元素
15 1
|
10天前
<数据结构>五道LeetCode链表题分析.环形链表,反转链表,合并链表,找中间节点.
<数据结构>五道LeetCode链表题分析.环形链表,反转链表,合并链表,找中间节点
19 1
|
10天前
|
索引
【力扣刷题】删除链表的倒数第 N 个结点、两两交换链表中的节点、随机链表的复制
【力扣刷题】删除链表的倒数第 N 个结点、两两交换链表中的节点、随机链表的复制
17 0
|
10天前
|
存储 算法 索引
【力扣刷题】只出现一次的数字、多数元素、环形链表 II、两数相加
【力扣刷题】只出现一次的数字、多数元素、环形链表 II、两数相加
22 1