代码拉取完成,页面将自动刷新
#include<stdio.h>
//struct ListNode* detectCycle(struct ListNode* head) {
// struct ListNode* fast = head;
// struct ListNode* slow = head;
// while (fast && fast->next)
// {
// slow = slow->next;
// fast = fast->next->next;
// if (fast == slow)
// {
// struct ListNode* meet = slow;
// while (meet != head)
// {
// meet = meet->next;
// head = head->next;
// }
// return head;
// }
// }
// return NULL;
//}
//struct ListNode* getIntersectionNode(struct ListNode* headA, struct ListNode* headB) {
// struct ListNode* curA = headA;
// struct ListNode* curB = headB;
// if (headA == NULL || headB == NULL)
// {
// return NULL;
// }
// //先找两个链表的尾结点:
// int lenA = 0;
// while (curA->next)
// {
// curA = curA->next;
// lenA++;
// }
// int lenB = 0;
// while (curB->next)
// {
// curB = curB->next;
// lenB++;
// }
// if (curA != curB)
// {
// return NULL;
// }
// //走差距步:
// struct ListNode* longlist = headA;
// struct ListNode* shortlist = headB;
// if (lenA < lenB)
// {
// longlist = headB;
// shortlist = headA;
// }
// int m = abs(lenA - lenB);
// while (m--)
// {
// longlist = longlist->next;
// }
// //同时走,找第一个相等的结点
// while (longlist != shortlist)
// {
// longlist = longlist->next;
// shortlist = shortlist->next;
// }
// return shortlist;
//}
//struct ListNode* detectCycle(struct ListNode* head) {
// struct ListNode* fast = head;
// struct ListNode* slow = head;
// while (fast && fast->next)
// {
// slow = slow->next;
// fast = fast->next->next;
// if (fast == slow)
// {
// //转换相交
// struct ListNode* meet = slow;
// struct ListNode* next = meet->next;
// //切割环
// meet->next = NULL;
// struct ListNode* entryNode = getIntersectionNode(next, head);
// //恢复环
// meet->next = next;
// return entryNode;
// }
// }
// return NULL;
//}
//struct Node* copyRandomList(struct Node* head) {
// //1.插入copy结点:
// struct Node* cur = head;
// struct Node* copy = NULL;
// struct Node* next = NULL;
// while (cur)
// {
// //复制链接:
// next = cur->next;
// copy = (struct Node*)malloc(sizeof(struct Node));
// copy->val = cur->val;
// cur->next = copy;
// copy->next = next;
// //迭代往后走:
// cur = next;
// }
// //更新拷贝结点的random:
// cur = head;
// while (cur)
// {
// copy = cur->next;
// if (cur->random == NULL)
// copy->random = NULL;
// else
// copy->random = cur->random->next;
// //往后走:
// cur = cur->next->next;
// }
// //将拷贝的结点解下来,然后链接起来:
// struct Node* copyHead = NULL;
// struct Node* copyTail = NULL;
// cur = head;
// while (cur)
// {
// copy = cur->next;
// next = copy->next;
// if (copyTail == NULL)
// {
// copyTail = copyHead = copy;
// }
// else
// {
// copyTail->next = copy;
// copyTail = copyTail->next;
// }
// //恢复原链表的链接:
// cur->next = next;
// //迭代:
// cur = next;
// }
// return copyHead;
//}
int main()
{
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。