- 移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
class Solution {
public int removeElement(int[] nums, int val) {
if(nums.length == 0)
return 0;
if(nums.length == 1)
if(nums[0] == val)
return 0;
else
return 1;
int length = 0;
for(int index = 0; index = 0; i--) {
if (s.charAt(i) != ' ') {
length++;
} else if (length != 0) {
return length;
}
}
return length;
}
}
经验: 年轻的人还在倒序遍历找,直接split冲锋完事儿。第二版本的代码可以判断尾部空格,比较巧妙
7.加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。
class Solution {
public int[] plusOne(int[] digits) {
if(digits.length == 1 && digits[0] != 9)
return new int[] {digits[0] + 1};
else if(digits.length == 1 && digits[0] == 9)
return new int[] {1, 0};
int alert = 0;
int i = digits.length - 1;
digits[i] = (digits[i] + 1) % 10;
if(digits[i] == 0)
alert = 1;
else
alert = 0;
i--;
while (alert > 0 && i >= 0) {
digits[i] = (digits[i] + alert) % 10;
if(digits[i] == 0) {
alert = 1;
i--;
}else
alert = 0;
}
if(i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?