算法通关村番外篇-LeetCode编程从0到1系列一

大家好我是苏麟 , 今天开始带来LeetCode编程从0到1系列 .

编程基础 0 到 1 , 50 题掌握基础编程能力

大纲

    • 1768.交替合并字符串
    • 389. 找不同

1768.交替合并字符串

描述 :

给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。
返回 合并后的字符串 。

题目 :

  1. 交替合并字符串

LeetCode : 交替合并字符串

算法通关村番外篇-LeetCode编程从0到1系列一_第1张图片

代码 :

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();
    }
}

389. 找不同

描述 :

给定两个字符串 s 和 t ,它们只包含小写字母。

字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。

请找出在 t 中被添加的字母。

题目 :
LeetCode 389. 找不同 :
找不同
算法通关村番外篇-LeetCode编程从0到1系列一_第2张图片
分析 :
这道题用位运算还是比较好做的 .

代码 :

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;
    }
}

这期就到这里 , 下期见!

你可能感兴趣的:(算法村,算法,leetcode,java,开发语言)