题目描述
给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。
js解法:
function leftShiftOne(str, n) { var arr = str.split(""); // 把字符串转化成数组 var newArr = arr.splice(0,n); // 把需要反转的字符串从数组中删除,存储在newArr中 newArr = arr.concat(newArr); // 拼接两个数组,把需要反转的拼接在后面 newArr = newArr.join(''); //把数组转化成字符串 return newArr; }