1662 检查两个字符串数组是否相等--leetcode
题解一:直接将所有字符串拼接后比较
java:
class Solution {
public boolean arrayStringsAreEqual(String[] word1, String[] word2) {
return join(word1).equals(join(word2));
}
String join(String[] word) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < word.length; i++) {
sb.append(word[i]);
}
return sb.toString();
}
}
题解2:双指针对每个字符进行遍历
java:
class Solution {
public boolean arrayStringsAreEqual(String[] word1, String[] word2) {
int n = word1.length, m = word2.length;
int i = 0, j = 0, p = 0, q = 0;
while (i < n && j < m) {
if (word1[i].charAt(p++) != word2[j].charAt(q++)) return false;
if (p == word1[i].length()) {
i++;
p = 0;
}
if (q == word2[j].length()) {
j++;
q = 0;
}
}
return i == n && j == m;
}
}
2114 句子中的最多单词数
我们可以通过空格的数量来确定单词的数量,单词的数目等于空格数目加1。遍历数组sentences中的每个句子,分别计算每个句子的单词数目即可。
java:
class Solution {
public int mostWordsFound(String[] sentences) {
int maxWords = 0;
for (String sentence : sentences) {
int words = 1;
int length = sentence.length();
for (int i = 0; i < length; i++) {
if (sentence.charAt(i) == ' ') {
words++;
}
}
maxWords = Math.max(maxWords, words);
}
return maxWords;
}
}