C 判斷字串是否是子集
題目描述
分析
該題是在leetCode“二分搜尋”類下搜到的一題難度為medium的題。從題目的意思來看,其實就是判斷子串的字元順序是否在主串中出現過,若出現過,就返回true。就題目的意思來說,那我們最多遍歷一次主串來挨個搜尋出子串的字元即可得出結果,很簡單明瞭的一件事兒。之所以說是medium,是從若用運用二分搜尋的思想來解該題的角度說的吧,而我到在寫下這篇部落格為止,還未能想到如何應用二分搜尋來弄。
程式碼實現
bool isSubsequence(char* s, char* t) {
int slen=strlen(s);
int tlen=strlen(t);
int j=0;
for(int i=0;i<tlen;i++){
if(s[j]==t[i]){
j++;
if(j==slen)
break;
}
}
if(j==slen)
return true;
else
return false;
}
- 附
無意中看到了一個對上述方法進行實現的簡潔程式碼(除不含break的功能外),如下
bool isSubsequence(char* s, char* t) {
while (*t)
s += *s == *t++;
return !*s;
}
感想:
好簡潔,利用了判斷語句的結果true、false會在計算中自動轉化為1、0值,以及char型別的儲存空間為1個位元組的性質,當然還有字串以‘\0’結束,作為判斷時會轉成false的性質,三句程式碼就搞定了,膜!
相關文章
- C#判斷字串是否為日期格式C#字串
- 判斷字串是否唯一字串
- 判斷URL字串是否合法字串
- 判斷字串是否為空字串
- js判斷字串是否為空JS字串
- java判斷字串是否為空Java字串
- JavaScript判斷字串是否為空JavaScript字串
- C語言:判斷一個字串是否為迴文C語言字串
- C#判斷一個字串是否是數字或者含有某個數字C#字串
- Python中判斷是否為數字字串的方法是什麼?Python字串
- JavaScript 判斷是否是陣列JavaScript陣列
- C++判斷是否為閏年C++
- PHP 判斷一個字元是否在字串中PHP字元字串
- PHP判斷一個字串是否包含亂碼PHP字串
- J2SE-判斷字串是否為空字串
- 演算法題:判斷括號字串是否有效演算法字串
- java判斷輸入的字串是否為數字Java字串
- js判斷字串是否含有特殊字元和emoji表情JS字串字元
- 教你幾種PostgreSQL判斷字串是否包含目標字串的方法SQL字串
- python學習----判斷是否是閏年Python
- JavaScript 判斷變數是否是函式JavaScript變數函式
- 判斷自身開方是否是整數
- 判斷a是否是int型別資料型別
- JavaScript判斷數字是否是質數JavaScript
- 【ASP】判斷是否是手機訪問
- javascript中如何判斷一個字串是否為JSON格式JavaScript字串JSON
- java字串、異常小練習--判斷qq是否合法Java字串
- JDK是如何判斷兩個物件是否相同的?判斷的流程是什麼?JDK物件
- fastjson判斷JSON字串是Object還是List<Object>ASTJSON字串Object
- c++判斷字串全是字母或數字C++字串
- C#判斷字串的顯示寬度C#字串
- 正規表示式判斷是否是數字
- python如何判斷一個物件是否是列表Python物件
- 判斷是否是陣列的幾種方法陣列
- <Python>判斷變數是否是DataFrame 或者 SeriesPython變數
- Python判斷字串是否為字母或者數字(浮點數)Python字串
- js判斷輸入字串是否為空、空格、null總結JS字串Null
- python如何判斷一個數是否是整數Python
- 正則判斷MIME 型別是否是圖片型別