判斷兩個字串是否為變形詞
給定兩個字串str1和str2,如果str1和str2**現的字元種類出現的一樣且每種字元出現的次數也一樣,那麼str1和str2互為變形詞。請判斷str1和str2是否為變形詞。
輸入描述:
輸入包括3行,第一行包含兩個整數n,m(1≤
n,m≤
105)
(1 \leq n,m\leq 10^5)
(1≤n,m
≤105
)分別代表str1和str2的長度,第二行和第三行為兩個字串,分別代表str1和str2。
輸出描述:
如果str1和str2互為變形詞,請輸出「true」,否則輸出「false」。
示例1輸入
3 3
123321
輸出true
示例2
輸入
3 4
1232331
輸出false
備註:
時間複雜度o(n
)o(n)
o(n)
,空間複雜度o(n
)o(n)
o(n)
。題解:
使用雜湊表統計兩個字串中的各個字元數目,不相等則不是互為變形詞。
注意:字串帶空格,scanf 輸入會 gg。
**:
#include
#include
using
namespace std;
const
int n =
1e5+10;
const
int m =
256;
char str1[n]
;char str2[n]
;int num[m]
;int
main
(void
)return0*
puts
("true");
}
判斷兩個字串是否為變形詞
例如 str1 123 str2 132 true str1 123 str2 1332 false 思路 1.如果其中乙個字串為空或者兩個字串長度不相等,返回 false 2.遍歷 str1,記錄每個字元出現的次數 1.建立乙個新的陣列 arr 初始化都為 0 2.遍歷 str1,利用字元的 as...
字串 判斷兩個字串是否為變形詞
問題 給定兩個字串str1和str2,如果str1和str2中出現的字元種類一樣並且每種字元出現的次數也一樣,那麼str1與str2互為變形詞。請實現函式判斷兩個字串是否互為變形詞。舉例 str1 123 str2 231 返回true str1 123 str2 2331 返回false 基本思路...
字串問題 判斷兩個字串是否為變形詞
問題 給定兩個字串str1和str2,如果str1和str2中出現的字元種類一樣並且每種字元出現的次數也一樣,那麼str1與str2互為變形詞。請實現函式判斷兩個字串是否互為變形詞。舉例 str1 123 str2 231 返回true str1 123 str2 2331 返回false 基本思路...