//做出一个链表的环(部分) LinkedList makeCycleInList(LinkedList list, int location) { LinkedList tailNode = getTailNode(list); LinkedList tailNext = getNodeByLocation(list, location); if (!tailNext) { printf("位置不正确!\n"); exit(0); } tailNode->next = tailNext; return list; }
struct ListNode* removeNthFromEnd(struct ListNode* head, int n) { struct ListNode* node = head; if(node) { struct ListNode* prev = NULL; struct ListNode* tail_node = getTailNode(node, n); while(tail_node) { prev = node; node = node->next; tail_node = tail_node->next; } if(prev) { prev->next = node->next; }else return node->next; } return head; }