可以检验某个单词是否为另一个单词的子字符串。给定 s1 和 s2,请设计一种方法来检验 s2 是否为 s1 的循环移动后的字符串。
s1 = waterbottle
;
s2 = erbottlewat
;
返回true
;
s1 = apple
;
s2 = ppale
;
返回false
;
将其中一个字符串转成数组来操作,然后再转成字符,回头来比较字符串。
/**
* @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) {};
// 将最后的值拿出来 再放到第一位上去
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
;
将其中一个字符串转成数组来操作,然后再转成字符,回头来比较字符串。
/**
* @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) {};
// 将最后的值拿出来 再放到第一位上去
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吧
本文分享自 OBKoro1前端进阶积累 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!