#LeetCode:392. Is Subsequence

灆洢 2020-06-09 21:43:21

此題給予 st 兩個字串,試求 s 字串是否為 t 的子序列(即順序相同,但是字不用一定要連在一起)

基本上就是將 t 字串依照順序去與 s 第一個字比對,如果有一樣的字就比對 s 的下一個字,以此類推,直到結束前,如果 s 的每一個字都被比過,那答案就為 true;那如果直到結束都沒有成功比對,那就是 false

Kotlin(124ms)

/*******************************************************
 * LeetCode 392. Is Subsequence                        *
 * Author: Maplewing [at] knightzone.studio            *
 * Version: 2020/06/09                                 *
 *******************************************************/
class Solution {
    fun isSubsequence(s: String, t: String): Boolean {
        if (s.length == 0) return true

        var sCurrentIndex = 0
        for (c in t) {
            if (s[sCurrentIndex] == c) ++sCurrentIndex
            if (sCurrentIndex == s.length) return true
        }
        return false
    }
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料