コード例 #1
0
ファイル: cycle_linkedlist.c プロジェクト: bugcoding/CodePlay
//做出一个链表的环(部分)
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;
}
コード例 #2
0
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;
}