Move Zeroes

原题链接Move Zeroes

意思是给定一个数组,将所有的0都移到后面,不能改变非0元素的相对顺序
把非0元素移到前面,后面补零即可,比较简单

class Solution {
public:void moveZeroes(vector<int>& nums) {if(nums.size() == 0)return;/* 记录上一个为0的位置,把下一次遇到的非0元素放到这个位置,然后后移一位,继续寻找非0元素 */int prv_idx = 0;for(auto n : nums){if(n != 0)nums[prv_idx++] = n;}/* prv_idx此时的值就是非0元素的个数,把剩下的位置都补0  */for(int i = prv_idx; i < nums.size(); ++i)nums[i] = 0;}
};

Remove Element

原题链接Remove Element

意思是给定数组,将所有不为给定数值的元素移到前面,不能改变这些元素的相对顺序,返回与给定数值不相等的元素个数。和上面的一样,0换成参数而已,而且不需要补全…

class Solution {
public:int removeElement(vector<int>& nums, int val) {if(nums.size() == 0)return 0;int prv_idx = 0;for(auto n : nums){if(n != val)nums[prv_idx++] = n;}return prv_idx;}
};

Remove Duplicates from Sorted Array

原题链接Remove Duplicates from Sorted Array

意思是给定有序数组,相同的元素值留一个,基准值不固定,和上面的题有点不同,但思路一样

class Solution {
public:int removeDuplicates(vector<int>& nums) {if(nums.size() == 0)return 0;/* 记录上一个找到的元素的位置,现在要找的元素不能和上一个元素相同 */int prv_idx = 0;for(int i = 1; i < nums.size(); ++i){if(nums[i] != nums[prv_idx])nums[++prv_idx] = nums[i];}return prv_idx + 1;}
};

Remove Linked List Elements

原题链接Remove Linked List Elements

意思是给定链表,删除指定数值的节点,比较简单,遍历一遍即可

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {public:ListNode* removeElements(ListNode* head, int val) {if(!head)return nullptr;ListNode* header = new ListNode(-1);header->next = head;ListNode* cur = head;ListNode* prv = header;while(cur){if(cur->val == val)prv->next = cur->next;elseprv = cur; cur = cur->next;}ListNode* res = header->next;delete header;return res;}
};

每天一道LeetCode-----删除序列中指定元素,将满足要求的元素移动到前面相关推荐

  1. java删除javaee_JavaEE--集合--删除List中指定元素

    一.Java 循环删除list中指定元素 增强for循环删除指定元素 @Test public void test(){ String[] strs={"a", "b&q ...

  2. js删除json中指定的元素

    删除json下指定的元素 var obj = {'id':1, 'name':2}; delete obj.id; delete obj[id]; console.log(obj); // {'nam ...

  3. java移除json的元素_js实现删除json中指定的元素

    删除json下指定的元素 var obj = {'id':1, 'name':2}; delete obj.id; delete obj[id]; console.log(obj); // {'nam ...

  4. JavaScript中如何删除数组中指定元素

    js中删除数组中指定元素大致有以下三中方法. 1.使用for循环遍历,根据条件判断. for (let i = 0; i < array.length; i++) {if (array[i] = ...

  5. Python中删除set中指定元素元素不存在时不报错:s.discard()元素不存在时报错:s.remove()

    [小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Python中删除set中指定元素 元素不存在时不报错:s.discard() 元素不存在时 ...

  6. 【C++基础】删除vector中指定下标元素

    [C++基础]删除vector中指定下标元素 vector<int> nums(n);1. 删除指定一个 i, auto it = nums.begin(); nums.erase(it+ ...

  7. jQuery删除数组中指定的元素

    jQuery删除数组中指定的元素 方法:arr.splice($.inArray(元素, 数组), 删除的个数); var arr = ['a','b','c','d']; arr.splice($. ...

  8. Java 循环删除list中指定元素

    Java 循环删除list中指定元素 1.for循环遍历删除指定元素 2.增强for循环删除指定元素 3.iterator删除指定元素 1.for循环遍历删除指定元素 List<String&g ...

  9. Java删除list中指定的元素的方法

    删除list中指定元素的时候可能第一种想到的是使用for循坏再删除就好了,但是使用for循环删除某个元素后,list的大小发生了变化,而你的索引也在变化,所以会导致你在遍历的时候漏掉某些元素.比如当你 ...

最新文章

  1. python 之 pip、pypdf2 安装与卸载
  2. CV入门赛最全思路上分技巧汇总!
  3. python实现获取文件列表中每个文件关键字
  4. 【AJAX】反向Ajax第1部分:Comet介绍
  5. activesync对应的COM口
  6. django_rest_framework之GenericAPIView(三)
  7. SAP Spartacus Component-wrapper.directive.ts launch Component的三个参数
  8. 记一次 .NET 某上市工业智造 CPU+内存+挂死 三高分析
  9. Servlet的重定向和转发特点
  10. ES6知识点汇总(全)
  11. freecodecamp_如何充分利用freeCodeCamp
  12. 无心剑中译奥修《爱、婚姻与自由》
  13. 【英语学习】【Daily English】U10 Education L01 Is this certificate a must?
  14. 【kafka】Apache Kafka 0.11版本新功能简介
  15. 安卓Dialog弹出对话框全解:包含了AlertDialog,DialogFragment
  16. 运行yum update出现一下错误信息
  17. ubuntu和windows双系统启动顺序的修改
  18. 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。 给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小
  19. oracle付权,oracle权限总结
  20. 无线充电组别国一队:浙江工业大学

热门文章

  1. 橙子云手机华为保修吗_华为云手机引关注!将替代传统手机?华为回应来了
  2. win10系统下载-靠谱推荐
  3. string (KMP+期望DP)
  4. 读书推荐:2017 第一期
  5. 两个实用的工具推荐:ResxManager和ValueInjecter
  6. 设置DataGrid自动生成列的宽度
  7. 【python数据挖掘课程】二十三.时间序列金融数据预测及Pandas库详解
  8. Python之十大经典排序算法的实现和原理
  9. Swift之UIView设置部分圆角与获取其所在ViewController
  10. 2017/Province_Java_A/2、9数算式