(2) 假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等...
生活随笔
收集整理的這篇文章主要介紹了
(2) 假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** 第一種方式:* 實現思路:將字符串通過getBytes方法轉換為byte數組,或者通過toCharArray()轉換為char數組* 然后先調用Arrays的sort方法進行排序,再調用Arrays的equels方法判斷是否相等;* * @param str1* @param str2* @return*/public static boolean equels(String str1, String str2) {byte[] sa1 = str1.getBytes();byte[] sa2 = str2.getBytes();Arrays.sort(sa1);Arrays.sort(sa2);return Arrays.equals(sa1, sa2);}/*** 第二種方式:* 實現思路:將其中一個字符串放到一個StringBuffer中,然后遍歷另一個String;* 判斷另一個String的每個字符在StringBuffer中是否存在,如果有的話,刪除StringBuffer中對應的第一個字符;* 遍歷結束后,查看StringBuffer的長度是否為0;* * @param str1* @param str2* @return*/public static boolean stringSame(String str1, String str2) {// 先判斷長度if (str1.length() != str2.length()) {return false;}// 把str2放到一個StringBuffer,StringBuffer str2Buffer = new StringBuffer();str2Buffer.append(str2);// 循環字符串1的字符,查看字符串2是否有相同字符,有的話刪除for (int i = 0; i < str1.length(); i++) {char temp = str1.charAt(i);int index = str2Buffer.toString().indexOf(temp);if (index != -1) {str2Buffer.deleteCharAt(index);} else {return false;}}// 刪除結束,確認長度為0則相等if (str2Buffer.toString().length() == 0) {return true;}return false;}public static void main(String[] args) {System.out.println(equels("aa23b235", "23ab235a"));System.out.println(stringSame("aa23b2我35", "23ab235a我"));}
轉載于:https://www.cnblogs.com/xiaozhang2014/p/5297288.html
總結
以上是生活随笔為你收集整理的(2) 假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 当向后台插入或读取JSON数据遇见回车时
- 下一篇: LeeCode_MultiplyStri