最强解析面试题:左旋转字符串

Posted 魏小言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最强解析面试题:左旋转字符串相关的知识,希望对你有一定的参考价值。


最强解析面试题:左旋转字符串

文章讲解 “ 左旋转字符串 ” 经典面试题,包含思路及源码,及解惑!

题目

汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列 S,请你把其循环左移 K 位后的序列输出(保证 K 小于等于 S 的长度)。例如,字符序列S=”abcXYZdef”,要求输出循环左移 3 位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!

示例1

输入:
“abcXYZdef”,3
返回值:
“XYZdefabc”

思路

字符串拼接,根据给定的位置进行重新拼接即可

代码

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * @param str string字符串
 * @param n int整型
 * @return string字符串
 */
func LeftRotateString(str string, n int) string {
   // write code here
   if n > len(str) {
      return str
   }
   res := str[n:] + str[:n]
   return res
}

附录

忙碌和早起

以上是关于最强解析面试题:左旋转字符串的主要内容,如果未能解决你的问题,请参考以下文章

[剑指offer]面试题42:翻转单词顺序 VS左旋转字符串

面试题58 - II. 左旋转字符串

面试题58 - II. 左旋转字符串

面试题58 - II. 左旋转字符串

面试题58 - II. 左旋转字符串

数据结构与算法面试题80道(26)