| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- //
- // Created by 李洋 on 2023/12/17.
- //
- #ifndef LEECODE_C_TEST1_H
- #define LEECODE_C_TEST1_H
- #include "stdlib.h"
- typedef struct LinkNode {
- char value;
- struct LinkNode *next;
- } *Node;
- struct p {
- int length;
- Node head;
- };
- p create(Node l1) {
- if (!l1) {
- return p{0, nullptr}; //NULL
- }
- Node temp = (Node) malloc(sizeof(LinkNode));
- temp->value = l1->value;
- l1 = l1->next;
- Node head = temp;
- int length = 1;
- while (l1) {
- temp = (Node) malloc(sizeof(LinkNode));
- temp->value = l1->value;
- temp->next = head;
- l1 = l1->next;
- head = temp;
- length++;
- }
- return p{length, head};
- }
- Node test(Node l1, Node l2) {
- p p1 = create(l1);
- p p2 = create(l2);
- Node n1 = p1.head;
- Node n2 = p2.head;
- int index = 0;
- while (n1->value == n2->value) {
- n1 = n1->next;
- n2 = n2->next;
- index++;
- }
- Node ps = l1;
- int length = p1.length - index;
- while (length--) {
- ps = ps->next;
- }
- return ps;
- }
- #endif //LEECODE_C_TEST1_H
|