LeetCode判定是否互为字符重排使用JavaScript解题|前端学算法

简介: LeetCode判定是否互为字符重排使用JavaScript解题|前端学算法

判定是否互为字符重排


给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

示例 1:

输入: s1 = "abc", s2 = "bca"

输出: true

示例 2:

输入: s1 = "abc", s2 = "bad"

输出: false


解题思路


要判断两个字符重新排列是否相等,那么他俩肯定一样长,只有长度相同才有可能相等;两个字符相等那就是里面的元素是一样的,数量也一样,可以把字符串转化为数组后进行排序,一一对应就说明两个字符串相等,但是一个一个判断又太浪费性能,可以再次把数组转化为字符串进行比较

具体步骤如下:

  • 第一步:判断两个字符串长度是否一样,如果不是就返回 false
  • 第二步:如果长度一样,就把两个字符串转化为数组。
  • 第三步:把两个数组进行排序,然后再次转化为字符串进行比较,返回比较的结果。
var CheckPermutation = function(s1, s2) {
    if(s1.length !== s2.length){
        return false
    }else{
        let arr1 = [...s1]
        let arr2 = [...s2]
        return arr1.sort().join('') === arr2.sort().join('')
    }
};


image.png


明天接着搞栈


知识点


  • 解构赋值: ...是ES6的解构语法的展开运算符;展开运算符用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中
  • sort() 方法对数组的项目进行排序。默认情况下,sort() 方法将按字母和升序将值作为字符串进行排序。
  • join()是将数组元素转换为字符串



目录
相关文章
|
2天前
|
缓存 前端开发 JavaScript
【JavaScript 技术专栏】JavaScript 前端路由实现原理
【4月更文挑战第30天】本文探讨了JavaScript前端路由在SPA中的重要性,阐述了其基本原理和实现方式,包括Hash路由和History路由。前端路由通过监听URL变化、匹配规则来动态切换内容,提升用户体验和交互性。同时,文章也提到了面临的SEO和页面缓存挑战,并通过电商应用案例分析实际应用。理解并掌握前端路由能助开发者打造更流畅的单页应用。
|
2天前
|
JavaScript 前端开发 算法
【JavaScript技术专栏】使用JavaScript实现常见算法
【4月更文挑战第30天】本文介绍了如何使用JavaScript实现常见算法,包括排序、搜索和图算法。首先,通过JavaScript的`sort`方法讨论了排序算法,以快速排序为例展示了自定义排序的实现。接着,探讨了二分查找这一高效的搜索算法,并提供了实现代码。最后,解释了深度优先搜索(DFS)图算法,并给出了在JavaScript中的实现。理解并运用这些算法能有效提升编程能力。
|
3天前
|
前端开发 JavaScript 数据安全/隐私保护
前端javascript的DOM对象操作技巧,全场景解析(二)
前端javascript的DOM对象操作技巧,全场景解析(二)
|
3天前
|
移动开发 缓存 JavaScript
前端javascript的DOM对象操作技巧,全场景解析(一)
前端javascript的DOM对象操作技巧,全场景解析(一)
|
3天前
|
缓存 编解码 自然语言处理
前端javascript的BOM对象知识精讲
前端javascript的BOM对象知识精讲
|
7天前
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
19 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
7天前
|
前端开发 JavaScript 索引
前端 富文本编辑器原理——从javascript、html、css开始入门(一)
前端 富文本编辑器原理——从javascript、html、css开始入门
19 0
|
10天前
|
JSON 前端开发 JavaScript
【2024-04-22 源码】最新PDF批注注释插件库,pdf.js插件库,纯前端离线JavaScript库(PDF高亮、下划线、橡皮擦、文本框、画笔、历史记录)
一款基于 pdf.js 开发的PDF批注插件库,支持纯离线内网部署,功能完善、强大且在不断升级,极易上手,欢迎关注!
27 4
【2024-04-22 源码】最新PDF批注注释插件库,pdf.js插件库,纯前端离线JavaScript库(PDF高亮、下划线、橡皮擦、文本框、画笔、历史记录)
|
11天前
|
前端开发 JavaScript
前端基础知识(一){HTML.CSS.JavaScript}
前端基础知识(一){HTML.CSS.JavaScript}
|
13天前
|
算法
代码随想录算法训练营第六十天 | LeetCode 84. 柱状图中最大的矩形
代码随想录算法训练营第六十天 | LeetCode 84. 柱状图中最大的矩形
18 3

热门文章

最新文章