在JavaScript中将零移动到列表末尾的就地算法
假设我们得到了一个整数数组,比方说arr。我们需要编写一个函数,该函数通过就地修改列表将所有零放在数组的后面。
函数应以其他元素的相对顺序保持相同的方式执行此操作。
例如-
如果输入数组是-
const arr = [0, 11, 0, 22, 67];
然后应该将数组修改为-
const output = [11, 22, 67, 0, 0];
示例
以下是代码-
const arr = [0, 11, 0, 22, 67];
const moveZeroToEnd = (arr = []) => {
const swap = (array, ind1, ind2) => {
const temp = array[ind1];
array[ind1] = array[ind2];
array[ind2] = temp;
};
let j = 0;
for (let i = 0; i < arr.length; ++ i) {
if (arr[i] !== 0) {
swap(arr, i, j++);
}
}
while (j < arr.length) {
arr[j++] = 0;
};
};
moveZeroToEnd(arr);
console.log(arr);输出结果以下是控制台输出-
[11, 22, 67, 0, 0]
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短