(LeetCode每日一刷05)最長公共字首
阿新 • • 發佈:2018-11-17
題目描述:
編寫一個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 ""
。
示例:
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共字首。
說明:
所有輸入只包含小寫字母 a-z
。
我提交的程式碼:
class Solution { public: string longestCommonPrefix(vector<string>& strs) { int vec_size = strs.size(); if(vec_size == 0) { return ""; } string result = ""; int i,j; int length = strs[0].size(); char pre; if(length == 0) { return result; } char current; for (i = 0; i < length; ++i) { pre = strs[0][i]; for (j = 0; j < vec_size; ++j) { if(strs[j].size() < i + 1) { return result; } current = strs[j][i]; if(pre != current) { return result; } } result = result + current; } return result; } };
執行用時: 20 ms, 在Longest Common Prefix的C++提交中擊敗了9.59% 的使用者
感想:快無語了。本想刷完所有簡單題在回過來深入學習,還是決定刷完10題就每題深入學習吧!