精華區beta Marginalman 關於我們 聯絡資訊
https://leetcode.com/problems/check-if-one-string-swap-can-make-strings-equal 1790. Check if One String Swap Can Make Strings Equal 給你兩個長度相同的字串,判斷兩個字串是否可以透過交換至多一個字元相等。 思路: 1.找到s1左邊第一個不同的位置和s2右邊第一個不同的位置,如果他們不能交換後相等 返回false。 2.否則檢查s1和s2中間的字元是否相同。 我怎麼寫的那麼醜阿 Java Code: ----------------------------------------------- class Solution { public boolean areAlmostEqual(String s1, String s2) { int n = s1.length(); int i = 0; while (i < n && s1.charAt(i) == s2.charAt(i)) { i++; } if (i >= n) { return true; } int j = n - 1; while (j >= 0 && s1.charAt(j) == s2.charAt(j)) { j--; } if (s1.charAt(i) != s2.charAt(j) || s1.charAt(j) != s2.charAt(i)) { return false; } while (++i < j) { if (s1.charAt(i) != s2.charAt(i)) { return false; } } return true; } } ----------------------------------------------- -- https://i.imgur.com/yRXNquY.jpeg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.158.101.161 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1738741197.A.AB1.html
Meaverzt: 大師 02/05 15:41