最長公共前綴

2、最長公共前綴

編寫一個函數來查找字符串數組中的最長公共前綴。

如果不存在公共前綴,返回空字符串 “”。

示例1

輸入: ["flower","flow","flight"]
輸出: "fl"

示例2

輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。

說明:

所有輸入只包含小寫字母 a-z

Solution

class Solution {
public:string longestCommonPrefix(vector<string>& strs) {string str="";int i=0;int over=0;if(strs.size()==0)return str;if(strs.size()==1)return strs[0];while(1){for(int j=1;j<strs.size();j++){if(i==strs[j].size()){over=1;break;}if(strs[j][i]==strs[0][i]){if(j==strs.size()-1){str+=strs[0][i];i++;}elsecontinue;}else{over=1;break;}}if(over)return str;}}
};

解題思路:

針對輸入的字符串組存在的特殊情況進行特殊處理,如果沒有字符串,則直接返回空,如果只有一個字符串,則直接將該字符串返回即可。

其余情況,設兩個變量,分別代表橫向和縱向,以第一個字符串做參考,檢查其余字符串,有以下情況時可結束檢查,并返回。1、橫向變量的值超過某一字符串的最長長度;2、縱向比較時發現不相等的情況;如果字符比較相等,且到達最后一個字符串,則更新返回字符串,繼續進行比較。

大神的做法;
vector用法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375711.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375711.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375711.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

devexpress中gridcontrol頭部添加垂直線(右邊框)

winform開發&#xff0c;用devexpress中的gridcontrol控件&#xff0c;頭部默認是3D樣式&#xff0c;當客戶希望像內容一樣扁平化顯示且需要添加垂直線(右邊框)時惡夢開始了。。經過一陣摸索發現可以這樣解決&#xff1a; 1.設置GridControl的GridView控件的PaintStyleName屬性…

UITableView知識梳理須知—(一)

1、UITableView掌握 1> 設置UITableView的dataSource、delegate 2> UITableView多組數據和單組數據的展示 3> UITableViewCell的常見屬性 4> UITableView的性能優化&#xff08;cell的循環利用&#xff09; 5> 自定義Cell 2、什么是UITableView 在i…

Yarn中的幾種狀態機

1 概述 為了增大并發性&#xff0c;Yarn采用事件驅動的并發模型&#xff0c;將各種處理邏輯抽象成事件和調度器&#xff0c;將事件的處理過程用狀態機表示。什么是狀態機&#xff1f; 如果一個對象&#xff0c;其構成為若干個狀態&#xff0c;以及觸發這些狀態發生相互轉移的事…

反轉字符串里的單詞

4、反轉字符串里的單詞 給定一個字符串&#xff0c;逐個反轉字符串中的單詞 示例1&#xff1a; 輸入: "the sky is blue", 輸出: "blue is sky the".說明&#xff1a; 無空格字符構成一個單詞。 輸入字符串可以在前面或者后面包含多余的空格&#xff0…

正整數

題目鏈接&#xff1a;http://acm.hust.edu.cn/vjudge/contest/view.action?cid84077#problem/A 題目&#xff1a; Description A magic island Geraldion, where Gerald lives, has its own currency system. It uses banknotes of several values. But the problem is, the s…

360 webscan中防注入跨站攻擊的核心

//get攔截規則 $getfilter "\\<.javascript:window\\[.{1}\\\\x|<.*(&#\\d?;?)?>|<.*(data|src)data:text\\/html.*>|\\b(alert\\(|confirm\\(|expression\\(|prompt\\(|benchmark\s*?\\(\d?|sleep\s*?\\([\d\.]?\\)|load_file\s*?\\()|<[…

POJ 2115 C Looooops(擴展歐幾里得)

輾轉相除法&#xff08;歐幾里得算法&#xff09; 時間復雜度&#xff1a;在O(logmax(a, b))以內 int gcd(int a, int b) {if (b 0) return a;return gcd(b, a % b); }擴展歐幾里得算法 時間復雜度和歐幾里得算法相同 int extgcd(int a, int b, int& x, int& y) {int …

分支管理(轉載)

轉自&#xff1a;http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743862006503a1c5bf5a783434581661a3cc2084efa000 分支就是科幻電影里面的平行宇宙&#xff0c;當你正在電腦前努力學習Git的時候&#xff0c;另一個你正在另一個平行…

匹配括號

輸入&#xff1a; 僅包含{,},(,),[,]的字符串輸出&#xff1a; 如果括號匹配輸出&#xff1a;YES 否則輸出&#xff1a;NOSolution&#xff1a; #include<iostream> #include<string> #include<stack> using namespace std;bool check(const string&)…

總線接口與計算機通信

微機中總線一般有內部總線、系統總線和外部總線。 內部總線是微機內部各外圍芯片與處理器之間的總線&#xff0c;用于芯片一級的互連&#xff1b; 系統總線是微機中各插件板與系統板之間的總線&#xff0c;用于插件板一級的互連&#xff1b; 外部總線則是微機和外部設備之間的總…

uva 12442 . Forwarding Emails

“... so forward this to ten other people, to prove that you believe the emperor has new clothes.”Aren’t those sorts of emails annoying?Martians get those sorts of emails too, but they have an innovative way of dealing with them.Instead of just forwardi…

大數相加

輸入&#xff1a; 兩個用字符串表示的大整數 如a1111111111111,b222222222222222 輸出&#xff1a; 兩個數的和 Solution&#xff1a; #include<iostream> #include<algorithm> #include<string>using namespace std;int add(const char&,const char&…

Linux的進程與服務(一)

啟動的配置文件/etc/inittab&#xff0c;修改完配置文件以后 init q立即生效 # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not h…

Linux 修改swap虛擬內存大小

swap是內存的交換區&#xff1b;換句話說&#xff0c;如果內存不夠用了&#xff0c;那么系統會在硬盤上存儲一些內存中不常用的數據&#xff0c;之后將這部分數據在存儲中析構掉&#xff1b;這樣內存就又有剩余空間可以運行東東啦&#xff0c;這個過程也就是所謂的交換&#xf…

統計文章中的單詞

輸入&#xff1a; 字符串&#xff0c;其中可能包含空格&#xff0c;TAB&#xff0c;回車等&#xff0c;規定&#xff0c;僅字母數字和單引號算作單詞部分 輸出&#xff1a; 單詞的個數 Solution&#xff1a; #include<iostream> #include<string>using namespac…

邁向世界 拓展未來

一切都會過去&#xff0c;只有真理永存&#xff0c;只有愿意越過事實前進一步的人&#xff0c;才能理解事實&#xff0c;這就是科學。時代在發展&#xff0c;科技更是日新月異徹底改變著我們的生活方式。現在的我們就是跟著科技發展的腳步&#xff0c;奔著夢想&#xff0c;一直…

JS - 跳轉頁面

<!-- 第一種&#xff1a; --><script type"text/javascript">window.location.href "login.jsp?backurl" window.location.href;</script><!-- 第二種&#xff1a; --><script type"text/javascript"&g…

分享一個用安卓手機就能引導pc安裝linux系統辦法

1、首先安卓手機下載軟件DriveDroid.apk http://pan.baidu.com/s/1qW4pbT6 2、下載linux鏡像文件放手機存儲卡存儲&#xff0c;放到Download/images/以下 3、打開軟件會自己主動讀取這個目錄以下鏡像&#xff0c;也能夠在軟件里面下載須要的鏡像文件 4、軟件設置usb連接模式 5、…

SharePoint 2013 開發——其他社交功能

博客地址&#xff1a;http://blog.csdn.net/FoxDave上一篇講了如何獲取用戶配置文件的相關屬性&#xff0c;它屬于SharePoint 2013社交功能的一個小的構成部分。社交功能是SharePoint 2013改進的一大亮點。可以在現有網站上開啟社交功能或者新建一個專門用于社交用途的社區網站…

第一個Qt+opencv程序

簡單安裝好Qt和編譯安裝好opencv后&#xff0c;簡單實現第一個Qtopencv程序&#xff1a;讀取并顯示一張圖片&#xff0c;這里我的Qt版本時5.9.1&#xff0c;opencv版本是4.0.1&#xff0c;版本的影響不大。 首先我們用Qt創建一個控制臺項目&#xff0c;即在創建項目時選擇Qt C…