簡單題55- 比較字符串

【題目】
描述

比較兩個(gè)字符串A和B,確定A中是否包含B中所有的字符。字符串A和B中的字符都是 大寫字母
在 A 中出現(xiàn)的 B 字符串里的字符不需要連續(xù)或者有序。
您在真實(shí)的面試中是否遇到過這個(gè)題? 是
樣例

給出 A = "ABCD" B = "ACD",返回 true

給出 A = "ABCD" B = "AABC", 返回 false
【思路】
通過map處理數(shù)據(jù)
【代碼實(shí)現(xiàn)】

package 比較兩個(gè)字符串;

import java.util.HashMap;
import java.util.Map;

public class Main {

    public static void main(String[] args) {
        String A = "ABCDEFG";
        String B = "ACC";
        System.out.println(compareStrings(A, B));
    }

    public static boolean compareStrings(String A, String B) {
        if(A.length() < B.length()) return false;
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        for(int i = 0; i < A.length(); i++) {
            char c = A.charAt(i);
            if(map.containsKey(c)) {
                int value = map.get(c);
                map.put(c, ++value);
            }else {
                map.put(c, 1);
            }
        }

        for(int i = 0; i < B.length(); i++) {
            char c = B.charAt(i);
            if(map.containsKey(c)) {
                int value = map.get(c);
                if(--value < 0) return false;
                map.put(c, value);
            }else {
                return false;
            }
        }
        return true;
    }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 最先接觸編程的知識是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識,c語言,java語言,單片機(jī)的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,375評論 0 7
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • 比較兩個(gè)字符串A和B,確定A中是否包含B中所有的字符。字符串A和B中的字符都是 大寫字母樣例給出 A = "ABC...
    和藹的zhxing閱讀 194評論 0 0
  • 題目 描述 比較兩個(gè)字符串A和B,確定A中是否包含B中所有的字符。字符串A和B中的字符都是大寫字母 樣例 給出 A...
    悠揚(yáng)前奏閱讀 286評論 0 0
  • 簡悅直播教練恬源閱讀 195評論 0 3

友情鏈接更多精彩內(nèi)容