前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法-判断字符串的循环移动

算法-判断字符串的循环移动

作者头像
OBKoro1
发布2020-10-27 11:56:51
7450
发布2020-10-27 11:56:51
举报
文章被收录于专栏:OBKoro1的前端分享

判断字符串的循环移动

难度:简单

描述:

可以检验某个单词是否为另一个单词的子字符串。给定 s1 和 s2,请设计一种方法来检验 s2 是否为 s1 的循环移动后的字符串。

样例:

s1 = waterbottle; s2 = erbottlewat; 返回true;

s1 = apple; s2 = ppale; 返回false;

思路分析:

将其中一个字符串转成数组来操作,然后再转成字符,回头来比较字符串。

代码模板:

代码语言:javascript
复制
/**
 * @param s1: the first string
 * @param s2: the socond string
 * @return: true if s2 is a rotation of s1 or false
 */
const isRotation = function(s1, s2) {};

想一想再看答案

想一想再看答案

想一想再看答案

代码:

代码语言:javascript
复制
// 将最后的值拿出来 再放到第一位上去
const isRotation = (s, t) => {
  if (s.length === t.length && s && t) {
    for (let i = 0; i < s.length; i++) {
      t = [...t]; // 转数组
      let pop = t.pop(); // 拿最后一个元素
      t.unshift(pop); // 添加到第一个元素
      t = t.join(''); // 转字符
      if (t === s) return true; // 比较
    }
  }
  return false; // 字符串长度相等 并且有值
};
console.log(
  '输出:',
  isRotation('waterbottle', 'erbottlewat'),
  isRotation('apple', 'ppale')
);

鼓励我一下:

觉得还不错的话,给我的项目点个star吧

判断字符串的循环移动

难度:简单

描述:

可以检验某个单词是否为另一个单词的子字符串。给定 s1 和 s2,请设计一种方法来检验 s2 是否为 s1 的循环移动后的字符串。

样例:

s1 = waterbottle; s2 = erbottlewat; 返回true;

s1 = apple; s2 = ppale; 返回false;

思路分析:

将其中一个字符串转成数组来操作,然后再转成字符,回头来比较字符串。

代码模板:

代码语言:javascript
复制
/**
 * @param s1: the first string
 * @param s2: the socond string
 * @return: true if s2 is a rotation of s1 or false
 */
const isRotation = function(s1, s2) {};

想一想再看答案

想一想再看答案

想一想再看答案

代码:

代码语言:javascript
复制
// 将最后的值拿出来 再放到第一位上去
const isRotation = (s, t) => {
  if (s.length === t.length && s && t) {
    for (let i = 0; i < s.length; i++) {
      t = [...t]; // 转数组
      let pop = t.pop(); // 拿最后一个元素
      t.unshift(pop); // 添加到第一个元素
      t = t.join(''); // 转字符
      if (t === s) return true; // 比较
    }
  }
  return false; // 字符串长度相等 并且有值
};
console.log(
  '输出:',
  isRotation('waterbottle', 'erbottlewat'),
  isRotation('apple', 'ppale')
);

鼓励我一下:

觉得还不错的话,给我的项目点个star吧

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OBKoro1前端进阶积累 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 判断字符串的循环移动
    • 难度:简单
      • 描述:
        • 样例:
          • 思路分析:
            • 代码模板:
              • 想一想再看答案
                • 想一想再看答案
                  • 想一想再看答案
                    • 代码:
                      • 鼓励我一下:
                      • 判断字符串的循环移动
                        • 难度:简单
                          • 描述:
                            • 样例:
                              • 思路分析:
                                • 代码模板:
                                  • 想一想再看答案
                                    • 想一想再看答案
                                      • 想一想再看答案
                                        • 代码:
                                          • 鼓励我一下:
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档