我正在解決一個問題(leetcode 557)給定一個字串 s,反轉句子中每個單詞的字符順序,同時仍然保留空格和初始單詞順序。
示例 1:
Input: s = "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"
示例 2:
Input: s = "God Ding"
Output: "doG gniD"
當我以這種方式撰寫下面的解決方案時,我得到了一個不可逆的錯誤答案。
var reverseWords = function(s) {
let separate = s.split("");
let res = separate.map((str) => {
return str.split("").reverse().join("");
});
return res.join("")
};
但是當我如下所示寫時,我的答案被接受了
var reverseWords = function(s) {
let separate = s.split(" ");
let res = separate.map((str) => {
return str.split("").reverse().join("");
});
return res.join(" ")
};
我真的很困惑第二行和最后一行代碼的引號中的間距如何影響解決方案。提前致謝
uj5u.com熱心網友回復:
s.split("")將找到一個空字串的每一次出現,它實際上是在每對連續字符之間。因此它將原始字串拆分為單個字符。mdn上的檔案特別提到了這種情況:
如果
separator是空字串 (""),則將其str轉換為包含其每個 UTF-16“字符”的陣列。
s.split(" ")將找到每個出現的空格,當然出現的次數要少得多,并且它將您的原始字串拆分為單詞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/428134.html
標籤:javascript 算法
上一篇:使用Appbar組件在“react”中找不到材料ui匯出“useInsertionEffect”(匯入為“useInsertionEffect$1”)
