明天不用带饭啦
var sort = function(array) {
for(let i = 0, j = array.length-1; i<j; ) {
while (i < j && array[i] === '*') {
i++;
}
while (i < j && array[j] !== '*') {
j--;
}
if (i < j) {
[array[i++], array[j--]] = [array[j], array[i]];
}
}
return array;
};
就是遇到了交换的坑。C和C++写函数是可以选择传值还是传址。一个交换函数
void swap(int *p1, int *p2)
{
int temp = 0;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
到javascript里就呵呵了。哪有传递引用?搜了一遍没找到太晚了先记下,投机取巧用了ES6
解构赋值[a, b] = [b, a];
所以最后连一个简单的交换函数都实现不了我要去睡觉了。。。