ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 面试:反转链表 简单双指针 ![](https://pic3.zhimg.com/v2-15a320cf0363ccfe7b87e355eca6274a_b.webp) C++代码 ``` //定义一个链表节点 struct ListNode { int value; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; ``` 递归 ![](https://pic4.zhimg.com/v2-52fbbb39fd55a31adb60e388694cb6d7_b.webp) C++代码 ``` //定义一个链表节点 struct ListNode { int value; ListNode *next; }; ListNode* reverseList(ListNode* head) { if (head == NULL || head->next == NULL) { return head; } else{ ListNode* newHead = reverseList(head->next); head->next->next = head; head->next = NULL; return newHead; } } ``` ## 链表 12个人, 围成一个圈,随机抽取一个人,喊1,然后下个人喊2,下个人喊3.喊到三的人抽出来。然后下一个人继续喊1。。抽出每个喊3的人。然后排序。