原创 169. Majority Element

Problem: Solution: 求給定數組中出現次數超過n/2的元素,首先想到的是暴力法,也就是說遍歷數組對每個元素的出現次數進行統計,如果出現次數一旦大於n/2即返回該書,此方法的時間複雜度爲O(n^2) class Solut

原创 520. Detect Capital

Problem: Solution: 檢查大寫字母的使用是否合法。題中給出了三種合法的情況,我們只需拿給定的單詞與這三種情況一一比較即可,不難。520未免讓我這個挫逼不合格程序員遐想連篇,一段美妙的故事已經在腦海中構建完成 class

原创 題目1010:A + B

Problem: Solution: 這道題的關鍵是要搞清楚題目中所蘊含的邏輯關係和運行順序,沒有什麼有含金量的算法,具體詳情看代碼,需要注意的是兩個加數的計算部分,由於輸入即可以形如“six”也可以爲“zero six”也可爲“fiv

原创 206. Reverse Linked List

Problem: Solution: 題目要求反轉一個單鏈表,沒有頭結點的話稍微麻煩一點,需要兩個輔助指針,一個指向已經完成反轉的最後一個元素,開始時指向head,另一個用來暫存當前需要反轉元素的下一個,以避免鏈表斷鏈。這種方式類似於“

原创 題目1464:Hello World for U

Problem: Solution: #include <iostream> #include <string> using namespace std; int main() { int n1,n2,n3; str

原创 題目1182:統計單詞

Problem: Solution: 這道題的思路其實是很簡單的,但由於我對c++基本語法的不清楚導致耗費了很久。在用cin讀取輸入字符串時,遇到空白就會停止了,比如說輸入爲“hello world”讀進去的只有“hello”,只能ci

原创 100. Same Tree

Problem: Solution: 判斷兩棵二叉樹是否相等,顯然採用遞歸方式比較簡單,但遞歸方式往往又是晦澀難懂的。這道題的遞歸算是比較簡單,首先我們要搞清楚可能的情況有哪些: 1、如果當前訪問的兩個結點都爲空,那顯然他們是相等的;

原创 217. Contains Duplicate

Problem: Solution: 可以使用暴力法,但是時間會超出限制 class Solution { public: bool containsDuplicate(vector<int>& nums) {

原创 476. Number Complement

Problem: Solution: 題目要求將給定整數的二進制碼變反後,輸出新的二進制碼所代表的整數。 我的策略是先利用除2取餘法將所給正整數的二進制編碼存放在一個字符串變量中,然後對該字符串進行遍歷,採用二進制轉十進制的方法將其轉換

原创 題目1468:Sharing

Problem: Solution: 題目的意思讓我們找出以鏈表存儲的單詞的公用存儲區,也就是找其公共後綴開始的地方。先要構建兩個鏈表分別存儲兩個單詞,由於兩個單詞的長度是不相等的,要使它們的末尾對齊,那麼必然要先對長的單詞進行遍歷,直

原创 268. Missing Number

Problem: Solution: 找出給定數組中缺失的那個數,數組中的各元素不重複,範圍爲0到n. 首先下可能會到的是比較暴力的時間複雜度爲O(n^2)的方法,即對每個0到n的整數都在給定數組中搜索看有無和它相等的元素,如果有,則它

原创 題目1183:守形數

Problem: Solution: 比較簡單的一道題,我用的方法是把這個數和它的平方轉化爲string類型然後從後往前進行比較。 #include <iostream> #include <string> using namespa

原创 題目1181:遍歷鏈表

Problem: Solution: 題目要求很清楚,先建立一個鏈表,再對鏈表進行類似於冒泡的排序即可 #include <iostream> #include <stdlib.h> #include <stdio.h> using n

原创 題目1180:對稱矩陣

Problem: Solution: 判斷矩陣是否對稱,申請一個二維數組來存放元素,然後判斷各元素是否滿足對稱矩陣所需的條件即可,需要留意的是當二維數組作爲形參進行傳遞時,在申明函數時參數需要以 int[ ][10]這樣的格式定義,也就

原创 二叉樹遍歷

2014年第三題 根據題目要求,先建樹,建好樹之後進行遍歷即可 #include <iostream> using namespace std; struct Node { int val; Node *lchild