原创 LeetCode (20)Valid Parentheses

(20)Valid Parentheses 題目:判斷一個字符串是否符合括號使用規則,字符串裏有”()”,”[]”,”{}”三種。 例子:”()”和”({}[])”都是正確的,但是”([)”,”({)[}]”都是錯誤的。 想過之後

原创 LeetCode (12)Integer to Roman

(12)Integer to Roman 題目:將一個整數轉換成羅馬數字,範圍在1~3999。 很簡單很暴力,只需要知道羅馬數字的表示方法就可以了。 羅馬數字表示: 1~9:I,II,III,IV,V,VI,VII,VIII,IX

原创 LeetCode (29)Divide Two Integers

(29)Divide Two Integers 題目:不用除法計算一個數與另一個數的商。 另外:當結果溢出int範圍的時候,輸出int範圍最大的數字。 例如: 輸入:dividend:-10;divisor:-1; 輸出:10。

原创 LeetCode (18)4Sum

(18)4Sum 題目:在所給的數組中,尋找符合四個數和等於目標數的組合,返回所有組合。 例子: 所給數組爲 S=[1, 0, -1, 0, -2, 2],同時目標數爲target = 0。 返回的集合爲: [ [-1,

原创 LeetCode (8)String to Integer(atoi)

(8)String to Integer(atoi) 題目:將一個字符串變換成爲int整數。 提示:仔細考慮各種可能的輸入情況。 看到這道題只想到了幾種可能性,首先是首位有空格的,可能帶加號表示正數的,可能超出int範圍的,結果寫

原创 LeetCode (10)Regular Expression Matching

(10)Regular Expression Matching 題目:實現正則表達式匹配,支持“.”和“*”。 ‘.’:匹配任何單個字符。 ‘*’:匹配0個或多個前一個聲明的字符。 匹配需要匹配整個字符串。 例如: isMatc

原创 LeetCode (22)Generate Parentheses

(22)Generate Parentheses 題目:寫出所有n對“(”,“)”能組合成的符合正常規則的字符串。 例如:當n=“3”的時候,答案集爲: [ "((()))" "(()())" "(())(

原创 LeetCode (17)Letter Combinations of a Phone Number

(17)Letter Combinations of a Phone Number 題目:通過所給字符串,返回按下數字可能返回的字符串組合,數字和字符的關係如同手機鍵盤一樣。 例子: 輸入:字符串爲“23”。 輸出:["ad",

原创 LeetCode (21)Merge Two Sorted Lists

(21)Merge Two Sorted Lists 題目:將兩個排好序的鏈表合併成一個排好序的鏈表,不允許開額外的空間。 例子: 所給鏈表爲l1 = 1->2->3,l2 = 2。 返回鏈表爲result = 1->2->2->

原创 LeetCode (24)Swap Nodes in Pairs

(24)Swap Nodes in Pairs 題目:將一個鏈表的每兩個相鄰鏈節做交換,輸出交換後的鏈表。 例如:鏈表爲1->2->3->4,那麼返回的鏈表是2->1->4->3。 另外:不能開額外的鏈表空間。 根據題目直接從前到

原创 LeetCode (13)Roman to Integer

(13)Roman to Integer 題目:將一個羅馬字符串轉換成整數,範圍在1~3999。 根據上一道題,如果從羅馬數字轉換成整數,直接從頭搜索就好了,需要遵循的規則只有一條。當我們遇到”M”直接加1000,遇到”D”直接加

原创 LeetCode (16)3Sum Closest

(16)3Sum Closest 題目:在一個數組裏找到和目標結果最爲接近的三個數字的和,返回此和數。 例子: 所給數組爲 S = {-1,2,1,-4},同時目標結果target = 1。 數組中最接近目標結果的三個數字之和爲2

原创 LeetCode (7)Reverse Integer

(7)Reverse Integer 題目:把數字倒過來。 例子:x = 123, return 321。 再例:x = -123, return -321。 另:輸入是32位有符號整數,當超出範圍的時候,輸出0。 根據這個題目,

原创 LeetCode (14)Longest Common Prefix

(14)Longest Common Prefix 題目:在多個字符串中找到最長公共子前綴。 想到的方法也就幾種,一種是暴力的去每兩個去找一遍,兩層循環,但是再思考一下,這種方法太原始了是不是,我們可以直接通過一個字符串去對比其他

原创 LeetCode (9)Palindrome Number

(9)Palindrome Number 題目:判斷一個整數是否是迴文數字,不要開額外的空間。 由於前面做的幾道題的思維慣性,如果將第一個數字直接模10,加到第二個整數上,然後對這個整數乘10再加剛纔數字除以10後的數字再模10,