判斷兩個字串是否為變形詞

2021-10-09 15:37:53 字數 1024 閱讀 6010

判斷兩個字串是否為變形詞

給定兩個字串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 基本思路...