题目描述
汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
解题思路
字符串操作
代码实现
PHP:
function LeftRotateString($str, $n)
{
if(strlen($str) == 0) return $str;
$str1 = substr($str,0,$n);
$str2 = substr($str,$n);
return $str2.$str1;
}
Node:
function LeftRotateString(str, n)
{
if(!str || str.length === 0) return '';
let num = n % str.length;
return str.substr(num) + str.substr(0,num);
}
Golang:
/**
* [JZ58-中等] 左旋转字符串
*
* @param str string 字符串
* @param n int 整型
* @return string 字符串
*/
func leftRotateString(str string, n int) string {
if 0 == len(str) {
return ""
}
n = n % len(str)
return str[n:] + str[:n]
}
叼茂SEO.bfbikes.com