Easy
🔸 題目連結: https://leetcode.com/problems/merge-strings-alternately/description/?envType=study-plan-v2&envId=leetcode-75
💭 分析與思路:
設立一個 index i
,跑 while
迴圈直到 word1
或者 word2
到盡頭。接著再把剩餘的字串拼接上去。
🔹 Javascript:
var mergeAlternately = function (word1, word2) {
let i = 0;
let result = "";
while (word1[i] && word2[i]) {
result += word1[i] + word2[i];
i++;
}
result += word1.slice(i) + word2.slice(i);
return result;
};
☕ Java:
class Solution {
public String mergeAlternately(String word1, String word2) {
StringBuilder result = new StringBuilder();
int i = 0;
int l1 = word1.length();
int l2 = word2.length();
while (i < l1 && i < l2) {
result.append(word1.charAt(i)).append(word2.charAt(i));
i++;
}
if (i < l1) {
result.append(word1.substring(i));
} else if (i < l2) {
result.append(word2.substring(i));
}
return result.toString();
}
}
Easy
🔸 題目連結: https://leetcode.com/problems/greatest-common-divisor-of-strings/description/?envType=study-plan-v2&envId=leetcode-75
💭 分析與思路: 這題可以運用輾轉相除法的概念,不過要稍微轉換一下思維!
首先需先解釋這行 if (str1 + str2 !== str2 + str1) return "";
:
其意思為如果兩段string有common devisor,那兩段string調換順序再相組,並定會相同!
再來就簡單了,取兩段 string 的 length 得 gcd,在取得subString即可。