> 文章列表 > 【力扣-206】反转链表

【力扣-206】反转链表

【力扣-206】反转链表

🖊作者 : Djx_hmbb
📘专栏 : 数据结构
😆今日分享 :
----------“覆蕉寻鹿”:
有的人把假的当成真的,而又有人把明明是真的事情当成假的,前者可以说是“黄粱美梦”,后面这种就是“覆蕉寻鹿”。以前有个樵夫打死了一头野鹿,因为一时带不回家,怕被其他人发现,就先用芭蕉叶把牠覆盖起来;后来樵夫去找鹿,忘记了所藏的地方,怎么也找不到,最后以为是自己做了一场梦。所以用“覆蕉寻鹿”来比喻把真实的事情看作梦幻的情况,也可用“覆鹿寻蕉”,都是一个意思。 ------谢一
【力扣-206】反转链表

文章目录

  • 题目链接 :
  • ✔题目:
    • :>解题思路:三指针翻转法 和 头插法
  • ✔法一(头插法):
  • ✔图解:
  • ✔法二(三指针反转法):
  • ✔图解:
    • 家人们,点个![请添加图片描述](https://img-blog.csdnimg.cn/11dae7d2dd1b46b2b021edaccee67cf1.jpeg)再走呗~

✔题目链接 :

【力扣-203】

✔题目:

:>解题思路:三指针翻转法 和 头插法

【力扣-206】反转链表

✔法一(头插法):

:> 方法 : 每一个节点都进行头插 -> 直接新一个头指针 , 然后将原指针的结点依次赋值给新指针

struct ListNode* reverseList(struct ListNode* head){struct ListNode* cur = head;struct ListNode* newhead = NULL;//头指针为空时,返回头指针if (head == NULL){return head;}//头指针不为空时,while (cur != NULL){struct ListNode* next = cur->next;cur->next = newhead;newhead = cur;cur = next;}return newhead;
}

✔图解:

【力扣-206】反转链表

✔法二(三指针反转法):

struct ListNode* reverseList(struct ListNode* head) {
//三指针反转法if (head == NULL || head->next == NULL){return head;}SLT* n1 = head;SLT* n2 = n1->next;SLT* n3 = n2->next;n1->next = NULL;while (n2)//{n2->next = n1;n1 = n2;n2 = n3;if(n3)n3 = n3->next;}return n1;
}

✔图解:

【力扣-206】反转链表


感谢家人的阅读,若有不准确的地方 欢迎在评论区指正!

家人们,点个请添加图片描述再走呗~