Lc_面試題01_02_判定是否互為字元重排
阿新 • • 發佈:2021-07-14
不會,我可以學;落後,我可以追趕;跌倒,我可以站起來!package com.leetcode.leetcode.licm; /** * @description: 面試題 01.02. 判定是否互為字元重排 * 給定兩個字串 s1 和 s2,請編寫一個程式,確定其中一個字串的字元重新排列後,能否變成另一個字串。 * <p> * 示例 1: * <p> * 輸入: s1 = "abc", s2 = "bca" * 輸出: true * 示例 2: * <p> * 輸入: s1 = "abc", s2 = "bad" * 輸出: false * 說明: * <p> * 0 <= len(s1) <= 100 * 0 <= len(s2) <= 100 * @author: licm * @create: 2021-07-14 09:28 **/ public class Lc_面試題01_02_判定是否互為字元重排 { /** * 雜湊表-陣列 * <p> * 由於測試案例都是小寫字母,就申請26位長度 * * @param s1 * @param s2 * @return */ public static boolean CheckPermutation(String s1, String s2) { int[] res = new int[26]; for (int i = 0; i < s1.length(); i++) { char c = s1.charAt(i); res[c - 'a'] += 1; } for (int i = 0; i < s2.length(); i++) { char c = s2.charAt(i); res[c - 'a'] -= 1; } for (int i = 0; i < res.length; i++) { if (res[i] < 0) { return false; } } return true; } public static void main(String[] args) { String s1 = "abc"; String s2 = "bcaa"; System.out.println(CheckPermutation(s1, s2)); } }