美文网首页
392. 判断子序列

392. 判断子序列

作者: 邦_ | 来源:发表于2022-07-07 11:34 被阅读0次
截屏2022-07-07 11.34.55.png
func isSubsequence(_ s: String, _ t: String) -> Bool {

        let len1 = s.count , len2 = t.count
        //子序列不能大于主序列
        if len1 > len2 {
            return false
        }

        let array1 = Array(s) , array2 = Array(t)
        var index1 = 0,  index2 = 0, hasFind = false
        while index1 < len1 {
            
            let c = array1[index1]
           while index2 < len2 {
               hasFind = false
               if c == array2[index2] {
                   index2 += 1
                   hasFind = true
                   break
               }else{
                   index2 += 1
               }
               
             
           }
            //右边的走到头了还没有找到。或者左边的没有走到头,右边的走到头了
            if (index2 == len2) && (!hasFind || index1 != len1 - 1){
                return false
            }
            index1 += 1
            
        }
      
        
       
        
        return true
    
    }







相关文章

网友评论

      本文标题:392. 判断子序列

      本文链接:https://www.haomeiwen.com/subject/esnubrtx.html