lintcode 比较字符串(Compare Strings ) (Java)

来源:互联网 发布:周涵成都书店知乎 编辑:程序博客网 时间:2024/05/20 02:26

题目

比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母
注意事项
在 A 中出现的 B 字符串里的字符不需要连续或者有序。

样例

给出 A = “ABCD” B = “ACD”,返回 true
给出 A = “ABCD” B = “AABC”, 返回 false

分析

只有大写字母,一共26个,遍历A的时候,往里面压,遍历B的时候,往外边弹,如果不够弹,则不包含。

代码

public class Solution {    /**     * @param A : A string includes Upper Case letters     * @param B : A string includes Upper Case letter     * @return :  if string A contains all of the characters in B return true else return false     */    public boolean compareStrings(String A, String B) {        // write your code here        int[] a = new int[26];        for (int i = 0; i < A.length(); i++){        //往a里面添加            a[A.charAt(i) - 'A']++;        }        for (int i = 0; i < B.length(); i++){        //从a里面移除            a[B.charAt(i) - 'A']--;            if (a[B.charAt(i) - 'A'] < 0){                return false;            }        }        return true;    }}

题目地址:http://www.lintcode.com/zh-cn/problem/compare-strings/

原创粉丝点击