[C++]Remove Duplicates from Sorted List 从已排序的链表中移除重复元素
2015-08-23 20:35
471 查看
leetcode 原题链接:https://leetcode.com/problems/remove-duplicates-from-sorted-list/
ps: 这也是前两天腾讯电面我的一道题,虽然思路对了,但是白板写的程序,把指针箭头引用写成(.)应用了,也不知道还有没有二面,/(ㄒoㄒ)/~~
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given
Given
简要翻译:题目的要求很简单就是给定一个已排序的单链表,要求删除链表中的重复元素。
实现代码:
<span style="font-size:14px;">#include <iostream>
using namespace std;
//Definition for singly-linked list.
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
class Solution
{
public:
ListNode* deleteDuplicates(ListNode* head)
{
if (head == NULL)
return NULL;
ListNode *p = head;
ListNode *temp = p->next;
while (p->next != NULL)
{
if (p->val == temp->val)
{
ListNode *tp = temp;
p->next = temp->next;
temp = p->next;
delete tp;
tp = NULL;
} else
{
p = p->next;
temp = p->next;
}
}
return head;
}
};</span>
ps: 这也是前两天腾讯电面我的一道题,虽然思路对了,但是白板写的程序,把指针箭头引用写成(.)应用了,也不知道还有没有二面,/(ㄒoㄒ)/~~
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given
1->1->2, return
1->2.
Given
1->1->2->3->3, return
1->2->3.
简要翻译:题目的要求很简单就是给定一个已排序的单链表,要求删除链表中的重复元素。
实现代码:
<span style="font-size:14px;">#include <iostream>
using namespace std;
//Definition for singly-linked list.
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
class Solution
{
public:
ListNode* deleteDuplicates(ListNode* head)
{
if (head == NULL)
return NULL;
ListNode *p = head;
ListNode *temp = p->next;
while (p->next != NULL)
{
if (p->val == temp->val)
{
ListNode *tp = temp;
p->next = temp->next;
temp = p->next;
delete tp;
tp = NULL;
} else
{
p = p->next;
temp = p->next;
}
}
return head;
}
};</span>
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- [C/C++]反转链表
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- 动易2006序列号破解算法公布
- 腾讯 Tencent Traveler v3.4 下载
- C#实现基于链表的内存记事本实例
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C++联合体转换成C#结构的实现方法