leetcode 859 親密字串

2021-10-07 21:40:56 字數 1134 閱讀 8050

題目:

給定兩個由小寫字母構成的字串ab,只要我們可以通過交換a中的兩個字母得到與b相等的結果,就返回true;否則返回false

示例 1:

輸入:a = "ab", b = "ba"輸出:true
示例 2:

輸入:a = "ab", b = "ab"輸出:false
示例 3:

輸入:a = "aa", b = "aa"輸出:true
解題思路:

考慮到下面幾種情況:

1.兩個陣列長度不一致,返回false;

2.兩個陣列長度一致且==的情況下,若相等,則去重,去重長度不變的,說明交換順序也不能讓兩個陣列相同,所以返回false

3.若去重後長度變化的,返回true.

4.遍歷陣列,利用陣列記錄兩陣列不同的地方,若記錄陣列長度超過2,則返回false;

5.長度為2的情況下,判斷前後的資料是否一樣就可以了。

**:

/**

* @param a

* @param b

* @return

*/var buddystrings = function(a, b)

if(a==b&&a2.length!=a.length)

if(a.length!=b.length) return false;

var b=;

for(var i=0;iif(b.length!=2)

if(a[b[0]]==b[b[1]]&&a[b[1]]==b[b[0]]) return true;

else return false;

};

LeetCode 859 親密字串

題目描述 給定兩個由小寫字母構成的字串 a 和 b 只要我們可以通過交換 a 中的兩個字母得到與 b 相等的結果,就返回 true 否則返回 false 輸入示例1 輸入 a ab b ba 輸出 true 輸入示例2 輸入 a ab b ab 輸出 false 輸入示例3 輸入 a aa b aa...

LeetCode 859 親密字串

給定兩個由小寫字母構成的字串a和b,只要我們可以通過交換a中的兩個字母得到與b相等的結果,就返回true 否則返回false。示例 1 輸入 a ab b ba 輸出 true 示例 2 輸入 a ab b ab 輸出 false 示例 3 輸入 a aa b aa 輸出 true 示例 4 輸入 ...

LeetCode(859 親密字串)

如題 審題很重要哦,著重注意是存在差異的話是有僅有一對並且相同時存在重複字元也是可以的 public static boolean buddystrings string a,string b char a u0000 對於差異點的備份 char b u0000 int flag 0 出現差異的位置...