var reverse = function (x) {
//转为字符串
x = x + "";
//定义头尾两个指针
let i = 0;
let z = x.length - 1;
//如果是负数,头指针起始位置为1
if (x < 0) {
i = 1;
}
//转为数组,方便前后元素替换 也可以是使用es6的展开运算符([...x])
x = x.split("");
while (i <= z) {
let temp = x[i];
x[i] = x[z];
x[z] = temp;
//头部尾部指针位置向中间移动
z--;
i++;
}
//将数组转换为str
x = x.join("");
//校验题目限制
if (x < Math.pow(-2, 31) || x > Math.pow(2, 31) - 1) {
return 0;
}
return x;
};
/**
- 总结:此题未使用数学的方式去进行解题,而是使用了类似与双指针的解法,直接将头指针与尾指针指向的值进行调换,
- 心得:当涉及到类似与数组顺序修改的问题,没有思路时,一定想起来双指针YYDS
**/