簡體   English   中英

在字符串中查找最長的回文並在 Javascript 中返回最長的單個單詞

[英]Finding the longest Palindrome in a string and returning the longest single word in Javascript

我寫了一個方法來在一個單詞的句子中找到最長的回文。 到目前為止,我已經使用 for 循環來做到這一點,但它沒有返回正確的單詞。

function findLongestPalindrome(sentence) {
  let wordArray = sentence.split(" ");
  let longestWord = 0;
  let word = " ";
  
  for(let i = 0; i < wordArray.length; i++) {
    if(longestWord < wordArray[i].length) {
      longestWord = wordArray[i].length;
      word = wordArray[i]
    }
  }
  return word;
}

誰能給我一個關於我哪里出錯的提示?

您缺少檢查字符串是否為回文的函數。 請參考以下代碼,您可以使用new Set()和重構代碼進一步優化。

 function findLongestPalindrome(sentence) { let wordArray = sentence.match(/\\b\\w+\\b/g), longestWord = 0, word = " "; for (let i = 0; i < wordArray.length; i++) { if (longestWord < wordArray[i].length && isPalindrome(wordArray[i])) { longestWord = wordArray[i].length; word = wordArray[i] } } return word; } function isPalindrome(str) { return str.split('').reverse().join('') === str; } console.log( findLongestPalindrome('This is an interesting sentence: kayak, november, anna') )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM