标签:
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.
#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