2016.8.3 Leetcode (C++, Xcode)(1)344. Reverse String

因為一直寫的都是android程序谚攒,所以之前想用java文件去提交,弄了半天android studio氛堕,終于將java程序運行了起來馏臭,可是一查,卻發(fā)現(xiàn)java運行效率是c語言的三分之一讼稚。

OK括儒,開始查刷OJ用什么語言比較好,查到一般用C++锐想,但是如果遇到高精度和匹配度的問題帮寻,用java水才比較好,好吧赠摇,以后將C++撿起來~

開始安裝mac的C++編輯器固逗,Xcode和Qtcreator浅蚪,后來發(fā)現(xiàn)Xcode很好用(雖然3.8G,下載了好久烫罩。惜傲。。)贝攒,但是果斷卸載Qtcreator盗誊,Xcode將來也可以用來將來編Swift。

第一次刷leetcode隘弊,還按照以前的int main的思路哈踱,發(fā)現(xiàn)編譯不通過,后來查了一下梨熙,發(fā)現(xiàn)leetcode上面必須有個Solution的類嚣鄙,也就是切換到C++提交方式時,默認的東西串结。

下面的解法按照時間從短到長排序:

解法一:
提交時間::Your runtime beats <u>9.99%</u> of cppsubmissions
時間復雜度:O(n/2).
思路:直接用c++自帶的reverse函數(shù)。

string reverseString(string s) {
        reverse(s.begin(), s.end());
        return s;
    }

ps:過后查了一下reverse這個函數(shù)舅列,reverse這個函數(shù)的解法肌割,是for循環(huán)了一半的長度,從兩頭到中間帐要,首位加把敞,末尾減,然后交換榨惠,交換內(nèi)置的是swap操作奋早,swap就是最常用的一個拷貝構(gòu)造,兩次賦值操作赠橙。

結(jié)果:

ps:這種解法用了頗多的時間耽装,主要是c++和xcode用的不熟練的原因,在string和char[]互相轉(zhuǎn)換上用了頗多時間期揪。

解法二:
提交時間:Your runtime beats <u>9.99%</u> of cppsubmissions
時間復雜度:O(n)掉奄。
思路:分治遞歸。

string reverseString(string s) {           
    if(s.length()<2)
        return s;
    else{
        string s1 = s.substr(0, s.length()/2-1);
        string s2 = s.substr(s.length()/2-1, s.length());
        reverse(s1.begin(), s1.end());
        reverse(s2.begin(), s2.end());
        s = s2+s1;
        return s;
    }
}

解法三:
提交時間:Your runtime beats <u>4.65%</u> of cppsubmissions
時間復雜度:O(n)
思路:新建字符串凤薛,將就字符串倒著拼接姓建。

string reverseString(string s) {
   string newstr = "";
   int length = (int)s.length();
   for(int i = 0; i<length;i++){
       newstr+=s.at(length-i-1);
  }
  return newts;
}

暫時沒想到更好的結(jié)題方法,但是這個效率是很低的缤苫,一定是有更好的解題方法的速兔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市活玲,隨后出現(xiàn)的幾起案子涣狗,更是在濱河造成了極大的恐慌谍婉,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屑柔,死亡現(xiàn)場離奇詭異屡萤,居然都是意外死亡,警方通過查閱死者的電腦和手機掸宛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門死陆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唧瘾,你說我怎么就攤上這事措译。” “怎么了饰序?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵领虹,是天一觀的道長。 經(jīng)常有香客問我求豫,道長塌衰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任蝠嘉,我火速辦了婚禮最疆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蚤告。我一直安慰自己努酸,他們只是感情好,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布杜恰。 她就那樣靜靜地躺著获诈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪心褐。 梳的紋絲不亂的頭發(fā)上舔涎,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天,我揣著相機與錄音逗爹,去河邊找鬼终抽。 笑死,一個胖子當著我的面吹牛桶至,可吹牛的內(nèi)容都是我干的昼伴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼镣屹,長吁一口氣:“原來是場噩夢啊……” “哼圃郊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起女蜈,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤持舆,失蹤者是張志新(化名)和其女友劉穎色瘩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逸寓,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡居兆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了竹伸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泥栖。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖勋篓,靈堂內(nèi)的尸體忽然破棺而出吧享,到底是詐尸還是另有隱情,我是刑警寧澤譬嚣,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布钢颂,位于F島的核電站,受9級特大地震影響拜银,放射性物質(zhì)發(fā)生泄漏殊鞭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一尼桶、第九天 我趴在偏房一處隱蔽的房頂上張望钱豁。 院中可真熱鬧,春花似錦疯汁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至溃卡,卻和暖如春溢豆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瘸羡。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工漩仙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人犹赖。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓队他,卻偏偏與公主長得像,于是被迫代替她去往敵國和親峻村。 傳聞我的和親對象是個殘疾皇子麸折,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容