您的位置:首页 > Web前端 > Node.js

leetcode_019Remove Nth Node From End of List

2015-08-29 23:28 597 查看
移除单链表倒数第N个节点。

测试平台是没有头结点的单链表!!!我最开始写的是带头结点的,所以测试不通过。

ListNode* removeNthFromEnd(ListNode* head, int n) {
        
	ListNode* temp = head;
	int i = 0;
	while (temp != NULL)
	{
		++i;
		temp = temp->next;
	}
	if (i != n)
	{
		temp = head;
		int time = i - n - 1;
		int j = 0;
		while (j != time)
		{
			temp = temp->next;
			++j;
		}
		if (temp != NULL)
			temp->next = temp->next->next;
		return head;
	}
	else return head->next;
    }


我个人觉得没有头结点的单链表各种操作都不怎么方便。我们在做插入、删除时可以为它创建一个头结点,最后再返回头结点的next就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: