iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0

125 Valid Palindrome

  • 給定字串,判斷它是否為迴文,僅考慮英數字元,忽略大小寫。
  • Kotlin, Two Pointers
fun isPalindrome(s: String): Boolean {
    var left = 0
    var right = s.length - 1
    while (left < right) {
        while (left < right && !s[left].isLetterOrDigit()) left++
        while (left < right && !s[right].isLetterOrDigit()) right--
        if (s[left].lowercaseChar() != s[right].lowercaseChar()) return false
        left++
        right--
    }
    return true
}

  • follow up
    • 如果不允許額外空間,該怎麼改?(其實上面就是 O(1) space)
    • 如果要判斷「幾乎」迴文(可刪除一個字元)呢?(LeetCode 680)
    • 如果字串長度很長(上億字符),如何優化效能?
    • 可以用遞迴做嗎?

上一篇
#03
下一篇
#05
系列文
來都來了-涮就涮吧7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言