博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode题解(26)
阅读量:4992 次
发布时间:2019-06-12

本文共 4483 字,大约阅读时间需要 14 分钟。

80. Remove Duplicates from Sorted Array II

题目

分析:简单的操作,代码如下:

1 class Solution { 2 public: 3     int removeDuplicates(vector
& nums) { 4 int n = nums.size(); 5 if(0==n) 6 return 0; 7 8 int i=0; 9 int temp;10 int res = n;11 vector
result;12 int count;13 for(i=0;i
2)25 {26 res = res-(count-2);27 result.push_back(temp);28 result.push_back(temp);29 30 }31 else32 while(count--)33 {34 result.push_back(temp);35 }36 37 }38 nums = result;39 return res;40 41 }42 };

 ---------------------------------------------------------------------------------分割线-----------------------------------------------------------------

81. Search in Rotated Sorted Array II

题目

分析:题目和33题很相识,代码如下:

1 class Solution { 2 public: 3     bool search(vector
& nums, int target) { 4 int n=nums.size(); 5 vector
A=nums; 6 if(0 == n) return false; 7 int left = 0; 8 int right = n - 1; 9 while(left <= right)10 {11 int midle = (left + right) >> 1;12 if(A[midle] == target) return true;13 if(A[left] == A[midle] && A[midle] == A[right])14 {15 ++left;16 --right;17 }18 else if(A[left] <= A[midle])19 {20 if(A[left] <= target && target < A[midle])21 {22 right = midle - 1;23 }24 else25 left = midle + 1;26 }27 else {28 if(A[midle] < target && target <= A[right])29 left = midle + 1;30 else31 right = midle - 1;32 }33 }34 return false;35 }36 };

 --------------------------------------------------------------------------------分割线-----------------------------------------------------------------

82. Remove Duplicates from Sorted List II

题目

分析:这道题主要是考察指针操作,为了方便,在处理之前,对链表添加一个头节点,以便处理起来更加方便,代码如下

1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode* deleteDuplicates(ListNode* head) {12         if(NULL == head)13             return NULL;14         15         ListNode *pre,*current;16         ListNode *pHead = new ListNode(0);17         pHead->next = head;//添加头节点18         pre = pHead;19         current = head;20         int key;21         bool flag = false;22         while(current!= NULL)23         {24             key = current->val;25             current = current->next;26             while( current != NULL && current->val == key)27             {28                 flag = true;29                 current = current->next;30             }31             if(flag)32             {33                 pre->next = current;34                 flag = false;35             }36             else37             pre = pre->next;38         }39         40         return pHead->next;41         42     }43 };

-------------------------------------------------------------------------分割线-------------------------------------------------------------------------

83. Remove Duplicates from Sorted List

分析:这一题和82题类似,代码如下:

1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution10 {11 public:12     ListNode *deleteDuplicates(ListNode *head)13     {14         if(head==NULL || head->next==NULL) return head;15         ListNode *helper = new ListNode(-100000);16         ListNode *ret=head;17         while(ret)18         {19             ListNode *next=ret->next;20             if(ret->val!=helper->val)21             {22                 helper->next=ret;23                 helper=ret;//将helper指新链表的尾结点24                 helper->next=NULL;//尾指向空,因为后面的结点有可能被删去了,它不知道下一个指向谁25             }26             else delete ret;27             ret=next;28         }29         return head;30     }31 };

 

转载于:https://www.cnblogs.com/LCCRNblog/p/5177685.html

你可能感兴趣的文章
设计模式读书笔记-单件模式(创建型模式)
查看>>
Oracle——热备份
查看>>
Vue路由history模式踩坑记录:nginx配置解决404问题
查看>>
c# 多张图片合成一张图片
查看>>
使用SQL Server 2008的事务日志传送功能备份数据库(logshiping)
查看>>
AngularJS多个ng-app只解析第一个的问题
查看>>
强制修改常量的值
查看>>
Grunt 初体验
查看>>
hive跑mapreduce报java.lang.RuntimeException: Error in configuring object
查看>>
ArcGIS中的坐标系统定义与投影转换方法
查看>>
机械臂的碰撞检测资料
查看>>
[UnityShader基础]01.渲染队列
查看>>
字符串转整型C++
查看>>
随机生成红包算法
查看>>
Datatable get请求传参应用
查看>>
杭电1170
查看>>
3unit8
查看>>
kettle与各数据库建立链接的链接字符串
查看>>
【转】Apache Solr 访问权限控制
查看>>
LoadRunner压力测试实际运用的使用方法
查看>>