亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何比較兩個不同字符串中的字符

如何比較兩個不同字符串中的字符

白衣非少年 2023-05-17 14:33:28
可以說我有“jfk”和“jfc”。我想遍歷兩個字符串并找出它們是否不同以及它們在哪里不同。我想看看這些字符串是否是字謎?!靶麻T”和“一個字”是變位詞。如果它不是字謎,我希望代碼通過字符串不同的字符數來告訴我。jfk 和 jfc 相差 1。“macd”和“mebc”相差 2,它們不能是變位詞。如果這兩個字符串的長度不同,那么它們就不可能是變位詞。我嘗試遍歷字符串,但那是我卡住的時候。我不知道如何同時遍歷兩個字符串并找出它們是否因某些字符而不同。我只檢查了兩個字符串的長度是否相同。 static void isAnagram(List <String> s1, List <String> s2) {          if (s1.length() != s2.length()) {              System.out.println("Not anagrams");          } else {              for(int i = 0; i < s1.length(); i++) {               for(int j = 0; j < s2.lenth(); j++) {//i know that iterating through both strings like this does not make sense but i am stuck.        }```
查看完整描述

3 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

如果你被允許使用額外的庫,你應該看看谷歌的番石榴,特別com.google.common.collect.Multiset<E>是它的實現。您可以將每個字符串的字符放入一個Multiset<Character>(不是 Multiset,這是行不通的,因為 E 必須是引用類型,沒有原始類型)。兩個字符串都是變位詞 if multiset1.equals(multiset2)

在這兩個 for 循環中,在我看來,您只需要一個循環并對兩個字符串使用相同的計數器?


查看完整回答
反對 回復 2023-05-17
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

將數組轉換為 char 數組。然后按字母順序對數組進行排序,然后逐個字符地比較它們。



查看完整回答
反對 回復 2023-05-17
?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

String str = "abc"; char[] chars = str.toCharArray(); 您可以使用它來將字符串轉換為 char 數組,接下來,通過運行一個簡單的 if 條件并遞增一個變量來區分單詞,這將非常容易地循環 char 數組。

查看完整回答
反對 回復 2023-05-17
  • 3 回答
  • 0 關注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號