天天看点

Leetcode 389. Find the Difference JAVA语言

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>Given two strings s and t which consist of only lowercase letters.</code>

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

<code>Find the letter that was added in t.</code>

<code>Example:</code>

<code>Input:</code>

<code>s = "abcd"</code>

<code>t = "abcde"</code>

<code>Output:</code>

<code>e</code>

<code>Explanation:</code>

<code>'e' is the letter that was added.</code>

题意:字符串s和t,t是s随记洗牌后多加了一个字母组成的,找出那个多加的字母。

14

15

16

<code>public</code> <code>class</code> <code>Solution {</code>

<code>    </code><code>public</code> <code>char</code> <code>findTheDifference(String s, String t) {</code>

<code>        </code><code>char</code><code>[] s1=s.toCharArray();</code>

<code>        </code><code>int</code> <code>sum=</code><code>0</code><code>;</code>

<code>        </code><code>for</code><code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i&lt;s1.length;i++){</code>

<code>            </code><code>sum+=s1[i];</code>

<code>        </code><code>}</code>

<code>        </code><code>char</code><code>[] s2=t.toCharArray();</code>

<code>        </code><code>int</code> <code>sum1=</code><code>0</code><code>;</code>

<code>        </code><code>for</code><code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i&lt;s2.length;i++){</code>

<code>            </code><code>sum1+=s2[i];</code>

<code>        </code><code>int</code> <code>cha=sum1-sum-</code><code>97</code><code>;</code>

<code>        </code><code>return</code> <code>(</code><code>char</code><code>)(</code><code>'a'</code><code>+cha);</code>

<code>    </code><code>}</code>

<code>}</code>

PS:我直接算的acsll码。。。。。。

一开始因为char和int的类型强弱关系出了点麻烦。char类型低于int,所以把两者放一起时会变为int,要加char进行强制转换。

本文转自 努力的C 51CTO博客,原文链接:http://blog.51cto.com/fulin0532/1890581