[容易]删除排序链表中的重复元素
题目来源:http://www.lintcode.com/zh-cn/problem/remove-duplicates-from-sorted-list/
第一次编译没有通过,是用了.,对象的指针调用对象的变量只能用->,而且temp->next依然是个指针
第二次编译没有通过,是没有判断head是否为null,如果head为null,直接返回null
1 /* 2 * Definition of ListNode 3 * class ListNode { 4 * public: 5 * int val; 6 * ListNode *next; 7 * ListNode(int val) { 8 * this->val = val; 9 * this->next = NULL; 10 * } 11 * } 12 */ 13 class Solution { 14 public: 15 /** 16 * @param head: The first node of linked list. 17 * @return: head node 18 */ 19 ListNode *deleteDuplicates(ListNode *head) { 20 // write your code here 21 // ListNode dummy;//定义一个ListNode对象dummy 22 // dummy.next=head;//注意head是个对象指针,指向第一个节点,它不是对象,不能直接赋值给dummy 23 // ListNode *temp=&dummy;//把ListNode对象dummy的地址给temp,temp是一个对象指针 24 ListNode *temp=head;//temp是个指针,需要用->,对象对它自己的内容才能用.,temp->next的值是下个节点的地址 25 if(head==NULL) 26 return NULL; 27 while(temp->next!=NULL) 28 { 29 if (temp->next->val==temp->val) 30 temp->next=temp->next->next; 31 else 32 temp=temp->next; 33 } 34 return head; 35 } 36 };
-------------------------------------------------
原创博客 转载请注明出处http://www.cnblogs.com/hslzju
-------------------------------------------------