第二个字符串是否是第一个字符串的旋转版本 JavaScript


我们需要编写一个 JavaScript 函数,该函数接收两个字符串,例如 str1 和 str2。我们需要确定第二个字符串是否是第一个字符串的旋转版本。

例如− 如果输入字符串为−

const str1 = 'abcde';
const str2 = 'cdeab';

那么输出应该是 true,因为 str2 实际上是通过将 str1 中的“ab”移动到字符串末尾而生成的。

示例

const str1 = 'abcde';
const str2 = 'cdeab';
const isRotated = (str1, str2) => {
   if(str1.length !== str2.length){
      return false
   };
   if( (str1.length || str2.length) === 0){
       return true
   };
   for(let i = 0; i < str1.length; i++){
      const reversed = str1.slice(i).concat(str1.slice(0, i));
      if(reversed === str2){
         return true
      };
   }
   return false;
};
console.log(isRotated(str1, str2));

输出

而控制台中的输出将为−

true

更新于:21-11-2020

117 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告