從零開始學習演算法(Java實現)~~~~之字串篇~~~判斷兩個字串是否是顛倒字母順序構成的
阿新 • • 發佈:2019-01-25
從今天開始記錄一下學習演算法的例程,貴在堅持!
寫出一個函式 anagram(s,
t)
去判斷兩個字串是否是顛倒字母順序構成的
樣例
給出 s="abcd"
,t="dcab"
,返回 true
難都係數*
以下是java程式碼實現:
public class Solution { /** * @param s: The first string * @param b: The second string * @return true or false */ public boolean anagram(String s, String t) { // write your code here
//若兩個字串的長度不相等直接返回false
if(s.length()!=t.length()){
return false ;
}
//定義一個儲存字元ASSIC值的陣列
int[] count = new int[256];
for(int i=0;i<s.length();i++){
//遍歷字串,將每一個字元的ASSIC碼值作為陣列下標的索引,並將對應的陣列值+1
count[(int)s.charAt(i)]++; } for(int j=0;j<t.length();j++){
<pre name="code" class="java">//遍歷字串,將每一個字元的ASSIC碼值作為陣列下標的索引,並將對應的陣列值-1
count[(int)t.charAt(j)]--; if(count[(int)t.charAt(j)]<0){
//若存在任一對應位置的的值小於0,返回false
return false ;
}
}
return true;
}
};