字符串之变形数
字符串之變形數
題目:給定2個字符串str1和str2,如果str1和str2出現的字符種類和每個字符出現的個數也一樣,那么str1與str2互為變形數。請用函數實現。
例子:str1="123", str2="231" 返回 true
例子:str1="123", str2="2311" 返回 false;
解題思路
方法1:如果字符串str1和str2長度不一樣肯定不是變形數,如果相等的話,假設出現的的字符編碼為0~256,申請一個長度為256的整形數組map,map[a]=b,表示字符a出現了b次,然后遍歷str1,比如遍歷到‘a’,那么是a[97]++,,然后遍歷str2,當遍歷到‘a’,那么map[97]--,如果其中只要有一種情況小于0,那么肯定不是變形數字了,如果想不通,慢慢想,總會想得通的,加油。
方法2:既然str1和str2可以轉換成字符編碼0~256,而且每個可以把每個字符的編碼加起來,如果2個字符編碼都相等的話,那么是變形數,前提是字符串的長度是一樣的的,以防1+2+3=2+4;的情況出現。
下面是實現的java代碼
public class Changeword {public static void main(String[] args) {String str1="abcd",str2="abcdd",str3&#
總結
- 上一篇: 快速学习使用springmvc、stru
- 下一篇: 不变模式