算法-判断字符串的循环移动
时间:2022-07-28
本文章向大家介绍算法-判断字符串的循环移动,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
判断字符串的循环移动
难度:简单
描述:
可以检验某个单词是否为另一个单词的子字符串。给定 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吧
- java如何获取一个对象的大小
- JDK1.7新特性(3):java语言动态性之脚本语言API
- JDK1.7新特性(4):java语言动态性之反射API
- ASP.NET Core集成现有系统认证
- Redis(2):常用命令详解
- C#移动跨平台开发(2)Xamarin移动跨平台解决方案是如何工作的?
- Ruby(3):基本语法中
- Python(3):文件读写与异常
- 向ASP.NET Core迁移
- Gitlab CI 自动部署 asp.net core web api 到Docker容器
- 从XMLHttpRequest请求响应里getResponseHeader(header)报错:Refused to get unsafe header "**" 问题解决
- 全面理解 ASP.NET Core 依赖注入
- jq实现上传头像并实时预览功能
- 初探领域驱动设计(2)Repository在DDD中的应用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法