LeetCode 83 — Remove Duplicates from Sorted List(C++ Java Python)
来源:互联网 发布:centos yum 源更新 编辑:程序博客网 时间:2024/05/19 06:19
题目:http://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/
每个元素只保留一次,多个重复元素一次删除。
C++实现:
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
.
题目翻译:
给定一个有序链表,删除所有重复元素,使得每个元素只出现一次。
例如,
给定1->1->2,返回1->2。
给定1->1->2->3->3,返回1->2->3。
每个元素只保留一次,多个重复元素一次删除。
C++实现:
/** * 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 || head->next == NULL) { return head; } ListNode *pre = head; ListNode *cur = head->next; while(cur != NULL) { if(cur->val != pre->val) { pre = cur; cur = cur->next; continue; } while(cur->next != NULL && cur->next->val == pre->val) { cur = cur->next; } pre->next = cur->next; cur = pre->next; } return head; }};Java实现:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode deleteDuplicates(ListNode head) { if (head == null || head.next == null) {return head;}ListNode pre = head;ListNode cur = head.next;while (cur != null) {if (cur.val != pre.val) {pre = cur;cur = cur.next;continue;}while (cur.next != null && cur.next.val == pre.val) {cur = cur.next;}pre.next = cur.next;cur = pre.next;}return head; }}Python实现:
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # @param head, a ListNode # @return a ListNode def deleteDuplicates(self, head): if head == None or head.next == None: return head pre = head cur = head.next while cur != None: if cur.val != pre.val: pre = cur cur = cur.next continue while cur.next != None and cur.next.val == pre.val: cur = cur.next pre.next = cur.next cur = pre.next return head感谢阅读,欢迎评论!
0 0
- LeetCode 83 — Remove Duplicates from Sorted List(C++ Java Python)
- [leetcode-83]Remove Duplicates from Sorted List(C)
- Leetcode-Remove Duplicates from Sorted List-Python
- [Leetcode] Remove Duplicates from Sorted List (Java)
- [leetCode][Java] Remove Duplicates from Sorted List
- [LeetCode][Java] Remove Duplicates from Sorted List
- 【leetcode】Remove Duplicates from Sorted List【java】
- leetcode:Remove Duplicates from Sorted List 【Java】
- [LeetCode]Remove Duplicates from Sorted List(Java)
- Remove Duplicates from Sorted List leetcode java
- 链表-python-leetcode 83 Remove Duplicates from Sorted List
- Python学习——leetcode(Remove Duplicates from Sorted List)
- 【leetcode c++】83 Remove Duplicates from Sorted List
- [C语言][LeetCode][83]Remove Duplicates from Sorted List
- LeetCode(83)Remove Duplicates from Sorted List
- [leetcode 83]Remove Duplicates from Sorted List
- [leetcode]83 Remove Duplicates from Sorted List
- [leetcode 83]Remove Duplicates from Sorted List
- 时间类
- 边锋实习生面试感慨
- 电子商务网站网上支付原理简析
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- Openstack 对象存储服务之争:Ceph或者Swift
- LeetCode 83 — Remove Duplicates from Sorted List(C++ Java Python)
- openSession与getCurrentSession的区别
- 删除可变数组NSMutableArray中的重复数据
- Cannot assign requested address: JVM_Bind
- 六周 项目3 用多文件组织多个类的程序
- Axis开发webservice .
- 有不少业主询问:究竟是先验房,后拿钥匙,还是相反?
- C++库函数---<stdio.h>标准输入输出函数
- 彩色石子-c#求解-英雄会在线编程题目