每日一算:找出数组中的第一个回文字符串使用JavaScript解题

简介: 每日一算:找出数组中的第一个回文字符串使用JavaScript解题

找出数组中的第一个回文字符串


给你一个字符串数组 words ,找出并返回数组中的 第一个回文字符串 。如果不存在满足要求的字符串,返回一个 空字符串  。

回文字符串 的定义为:如果一个字符串正着读和反着读一样,那么该字符串就是一个 回文字符串 。

 

示例 1:

输入: words = ["abc","car","ada","racecar","cool"] 输出: "ada" 解释: 第一个回文字符串是 "ada" 。 注意,"racecar" 也是回文字符串,但它不是第一个。

示例 2:

输入: words = ["notapalindrome","racecar"] 输出: "racecar" 解释: 第一个也是唯一一个回文字符串是 "racecar" 。

示例 3:

输入: words = ["def","ghi"] 输出: "" 解释: 不存在回文字符串,所以返回一个空字符串。


解题思路


我们按顺序遍历数组,并依次判断每个字符串是否回文。如果当前字符串回文,则该字符串即为第一个回文字符串,我们返回该字符串作为答案;如果遍历完成仍未找到回文字符串,则返回空字符串作为答案。

所以我们首先要写一个方法用来判断是否是回文字符串。最简单的方法就是使用两个指针,一个从最开始,一个从最后面开始对比,等到两个指针相遇时,如果都相等了,那这就是一个回文字符串

具体步骤:

  • 第一步:初始化一个变量,用来接收回文字符串
  • 第二步:使用for循环遍历数组,把当前字符串传入进去,调用判断方法,如果是就返回当前字符串
  • 判断回文字符串的方法:遍历字符串,如果newX[i]不等于newX[newX.length-i-1]则就不是回文数,返回false,如果是,则在判断一下i 是否 >= newX.length-i-1如果是则说明已经遍历完了,则返回true
var firstPalindrome = function(words) {
    let result = ''
    for(let i=0;i<words.length;i++){
        if(isPalindrome(words[i])){
            result = words[i]
            return result
        }
    }
    return result
};
// 判断字符串是否是回文字符串
var isPalindrome = function(newX) {
    for(let i=0;i<newX.length;i++){
        if(newX[i] === newX[newX.length-i-1]){
            if(i >=newX.length-i-1){
                return true
            }
        }else{
            return false
        }
    }
};



目录
相关文章
|
1月前
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
22 2
|
1月前
|
JavaScript 前端开发 测试技术
JS都有哪些操作数组的方法
JS都有哪些操作数组的方法
20 3
|
1月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
35 4
|
1月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
31 1
|
1月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
23 5
|
1月前
|
JavaScript 前端开发 索引
探索JavaScript数组:基础
探索JavaScript数组:基础
17 3
|
1月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
37 1
|
1月前
|
JavaScript 前端开发 API
JS中数组的方法flat()怎么用
JS中数组的方法flat()怎么用
13 0
|
1月前
|
JavaScript 前端开发 索引
JavaScript中数组、对象等循环遍历的常用方法介绍(一)
JavaScript中数组、对象等循环遍历的常用方法介绍(一)
20 0
|
1月前
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
18 0