Given two strings s and t which consist of only lowercase letters.

String t is generated by random shuffling string s and then add one more letter at a random position.

Find the letter that was added in t.

Example:

Input: s = "abcd" t = "abcde"

Output: e

Explanation: 'e' is the letter that was added.

Solution

public class Solution {
    public char findTheDifference(String s, String t) {
        if(s == null || t == null) return 0;

        char[] sArray = s.toCharArray();
        char[] tArray = t.toCharArray();
        Arrays.sort(sArray);
        Arrays.sort(tArray);

        for(int i = 0; i < sArray.length; i++) {
            if( sArray[i] != tArray[i] ) return tArray[i];
        }

        return tArray[tArray.length - 1];
    }
}

results matching ""

    No results matching ""