1 Star 1 Fork 0

LC.yulin/数据结构

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test.8_3.c 3.50 KB
一键复制 编辑 原始数据 按行查看 历史
LC.yulin 提交于 2022-08-03 19:51 . 数据结构链表oj题
#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;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/lc-yulin/data-structure.git
git@gitee.com:lc-yulin/data-structure.git
lc-yulin
data-structure
数据结构
master

搜索帮助