大家好我是苏麟 , 今天开始带来LeetCode编程从0到1系列 .
编程基础 0 到 1 , 50 题掌握基础编程能力
描述 :
给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。
返回 合并后的字符串 。
题目 :
LeetCode : 交替合并字符串
代码 :
class Solution {
public String mergeAlternately(String word1, String word2) {
int m = word1.length(), n = word2.length();
int i = 0, j = 0;
StringBuilder ans = new StringBuilder();
while (i < m || j < n) {
if (i < m) {
ans.append(word1.charAt(i));
++i;
}
if (j < n) {
ans.append(word2.charAt(j));
++j;
}
}
return ans.toString();
}
}
描述 :
给定两个字符串 s 和 t ,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
题目 :
LeetCode 389. 找不同 :
找不同
分析 :
这道题用位运算还是比较好做的 .
代码 :
class Solution {
public char findTheDifference(String s, String t) {
int n = 0;
int a = s.length();
int b = t.length();
for(int i = 0 ;i < a;i++){
n ^= s.charAt(i);
}
for(int i = 0 ;i < b;i++){
n ^= t.charAt(i);
}
return (char) n;
}
}
这期就到这里 , 下期见!