思路:
初始定義乙個已匹配的最長字串longestword,用member來遍歷取字串陣列的每個字串
如果member取的字串更長;或兩者長度相同,但member的字典序更小(用compare)
就看member字串是不是s的子串(即s刪除部分字母能得到member字串)
否則,如果member取的字串是給定字串s的子串,那麼就將當前字串member送longestword (更新迄今已匹配的最長字串)
最後member取完,longestword字串就是陣列中最長匹配的字串
函式**:
class solution }if
(j == member.
length()
) longestwordnow = member;
/*如果能匹配,就將迄今已匹配最長字串更新為當前member所取的字串*/
}return longestwordnow;
/*member取完字串陣列的字串時,longestwordnow中存放的就是匹配的最長字串*/}}
;
全**:
#include
using namespace std;
string findlongestword
(string s, vector
& d)}if
(j == member.
length()
) longestwordnow = member;
/*如果能匹配,就將迄今已匹配最長字串更新為當前member所取的字串*/
}return longestwordnow;
/*member取完字串陣列的字串時,longestwordnow中存放的就是匹配的最長字串*/
}int
main()
cout <<
findlongestword
(s, vec)
;}
leetcode524 最長子序列 雙指標 c
思路 給定字串s刪除一些字元能得到陣列的字串 找最長的字串 如果長度相同選字典順序最小的字串 比較s和p指標遍歷指向的字串是否對應相等 如果p指向字串是s的子串 並且p字串更長,或者長度同但p字典序更小 就將迄今已匹配最長字串更新為p指向的字串 最後p將陣列所有字串都遍歷完成時,lonestword...
LeetCode 524 字串中最長子序列
給定乙個字串和乙個字串字典,找到字典裡面最長的字串,該字串可以通過刪除給定字串的某些字元來得到。如果答案不止乙個,返回長度最長且字典順序最小的字串。如果答案不存在,則返回空字串。示例 1 輸入 s abpcplea d a b c 輸出 a 解題思路 首先應該迴圈給出的字元陣列來找到其中滿足條件的最...
Leetcode 最長子串
給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。includ...