码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode_237题——Delete Node in a Linked List(链表)

时间:2015-07-19 09:57:28      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

Delete Node in a Linked List

 Total Accepted: 6113 Total Submissions: 12798My Submissions

 

Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.

Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value 3, the linked list should become 1 -> 2 -> 4 after calling your function.

 

Hide Tags
 Linked List
Hide Similar Problems
 (E) Remove Linked List Elements
 
 
    解析:这道题需要删除链表结点,却值让你知道需要删除的那个结点,所以呢,只能将后面的数字往前面赋值,(题目已经说了被删除的一定不是最后那个结点,不然就做不了了)
#include<iostream>
using namespace std;

 struct ListNode {
      int val;
      ListNode *next;
      ListNode(int x) : val(x), next(NULL) {}
 };

void deleteNode(ListNode* node) {
	if(node==NULL)
		return;
	ListNode* ptr1=node;
	ListNode* ptr2=node->next;
	ListNode* ptr3=ptr2->next;
	while(1)
	{
		ptr1->val=ptr2->val;
		if(ptr3==NULL)
			break;
		ptr1=ptr1->next;
		ptr2=ptr2->next;
		ptr3=ptr3->next;

	}
	ptr1->next=NULL;
	return;
}

int main()
{
	ListNode* root=NULL;
	root=new ListNode(0);
	root->next=new ListNode(1);
	deleteNode(root);
}

  

leetcode_237题——Delete Node in a Linked List(链表)

标签:

原文地址:http://www.cnblogs.com/yanliang12138/p/4658191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!