leetcode前100題中的20道簡單題(python3)

1. 兩數(shù)之和

給定一個整數(shù)數(shù)組?nums?和一個目標值?target感猛,請你在該數(shù)組中找出和為目標值的那?兩個?整數(shù)七扰,并返回他們的數(shù)組下標。

你可以假設(shè)每種輸入只會對應一個答案陪白。但是颈走,你不能重復利用這個數(shù)組中同樣的元素。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

解:

class Solution:

????def twoSum(self, nums: List[int], target: int) -> List[int]:

????????res = {}

for index, num in enumerate(nums):

#enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表咱士、元組或字符串)組合為一個索引序列立由,同時列出數(shù)據(jù)和數(shù)據(jù)下標轧钓,一般用在 for 循環(huán)當中。

????????????another_num = target - num

????????????if another_num in res:

????????????????return [res[another_num], index]

????????????res[num] = index

????????return None

7. 整數(shù)反轉(zhuǎn)

給出一個 32 位的有符號整數(shù)锐膜,你需要將這個整數(shù)中每位上的數(shù)字進行反轉(zhuǎn)毕箍。

示例?1:

輸入:123

輸出:321

?示例 2:

輸入:-123

輸出:-321

示例 3:

輸入:120

輸出:21

注意:

假設(shè)我們的環(huán)境只能存儲得下 32 位的有符號整數(shù),則其數(shù)值范圍為?[?231,? 231?? 1]道盏。請根據(jù)這個假設(shè)而柑,如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0。

解:

class Solution:

????def reverse(self, x: int) -> int:

????????if x==0:

????????????return 0

str_x = str(x)? #轉(zhuǎn)換成字符串str

????????x = ''

if str_x[0] == '-':? #如果是負數(shù)

????????????x += '-'

????????x += str_x[len(str_x)-1::-1].lstrip("0").rstrip("-")?

#str[len(str) -1::-1]:字符串[開始點荷逞,結(jié)束點媒咳,步長],步長為負种远,從右到左

#lstrip() 方法用于截掉字符串左邊的空格或指定字符涩澡;rstrip()方法用于截掉字符串右邊的空格或指定字符。

x = int(x) #變回整數(shù)int

if -2**31

????????????return x

????????return 0

9. 回文數(shù)

判斷一個整數(shù)是否是回文數(shù)坠敷∶钔回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)。

示例 1:

輸入:121

輸出:true

示例?2:

輸入:-121

輸出:false

解釋:從左向右讀, 為 -121 膝迎。 從右向左讀, 為 121- 粥帚。因此它不是一個回文數(shù)。

示例 3:

輸入:10

輸出:false

解釋:從右向左讀, 為 01 弄抬。因此它不是一個回文數(shù)茎辐。

解:

class Solution:

????def isPalindrome(self, x: int) -> bool:

????????if x<0:

????????????return False

????????else:

res = str(x)[::-1] #逆序

????????????if res == str(x):

????????????????return True

????????????else:

????????????????return False

13. 羅馬數(shù)字轉(zhuǎn)整數(shù)

羅馬數(shù)字包含以下七種字符:?I,?V掂恕,?X拖陆,?L,C懊亡,D?和?M依啰。

字符數(shù)值

I 1

V 5

X 10

L 50

C 100

D 500

M 1000

例如, 羅馬數(shù)字 2 寫做?II?店枣,即為兩個并列的 1速警。12 寫做?XII?,即為?X?+?II?鸯两。 27 寫做??XXVII, 即為?XX?+?V?+?II?闷旧。

通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊钧唐。但也存在特例忙灼,例如 4 不寫做?IIII,而是?IV。數(shù)字 1 在數(shù)字 5 的左邊该园,所表示的數(shù)等于大數(shù) 5 減小數(shù) 1 得到的數(shù)值 4 酸舍。同樣地,數(shù)字 9 表示為?IX里初。這個特殊的規(guī)則只適用于以下六種情況:

I?可以放在?V?(5) 和?X?(10) 的左邊啃勉,來表示 4 和 9。

X?可以放在?L?(50) 和?C?(100) 的左邊双妨,來表示 40 和?90淮阐。?

C?可以放在?D?(500) 和?M?(1000) 的左邊,來表示?400 和?900斥难。

給定一個羅馬數(shù)字枝嘶,將其轉(zhuǎn)換成整數(shù)。輸入確保在 1?到 3999 的范圍內(nèi)哑诊。

示例?1:

輸入:"III"

輸出:3

示例?2:

輸入:"IV"

輸出:4

示例?3:

輸入:"IX"

輸出:9

示例?4:

輸入:"LVIII"

輸出:58

解釋:L = 50, V= 5, III = 3.

示例?5:

輸入:"MCMXCIV"

輸出:1994

解釋:M = 1000, CM = 900, XC = 90, IV = 4.

解:

class Solution:

????def romanToInt(self, s: str) -> int:

????????a = {'I':1,'V':5,'X':10,'L':50, 'C':100, 'D':500, 'M':1000}

????????ans = 0

????????for i in range(len(s)):

????????????if i<len(s)-1 and a[s[i]]<a[s[i+1]]:

????????????????ans -= a[s[i]]

????????????else:

????????????????ans += a[s[i]]

????????return ans

14. 最長公共前綴

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

如果不存在公共前綴及刻,返回空字符串?""镀裤。

示例?1:

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

輸出:"fl"

示例?2:

輸入:["dog","racecar","car"]

輸出:""

解釋:輸入不存在公共前綴。

解:

class Solution:

????def longestCommonPrefix(self, strs: List[str]) -> str:

????????if not strs:

????????????return ""

ss = list(map(set, zip(*strs)))#ss = [{'f'}, {'l'}, {'i', 'o'}, {'w', 'g'}]

????????res = ""

????????for i, x in enumerate(ss):

????????????x = list(x)

????????????if len(x) > 1:

????????????????break

????????????res = res + x[0]

????????return res

20. 有效的括號

給定一個只包括?'('缴饭,')'暑劝,'{','}'颗搂,'['担猛,']'?的字符串,判斷字符串是否有效丢氢。

有效字符串需滿足:

左括號必須用相同類型的右括號閉合傅联。

左括號必須以正確的順序閉合。

注意空字符串可被認為是有效字符串疚察。

示例 1:

輸入:"()"

輸出:true

示例?2:

輸入:"()[]{}"

輸出:true

示例?3:

輸入:"(]"

輸出:false

示例?4:

輸入:"([)]"

輸出:false

示例?5:

輸入:"{[]}"

輸出:true

解:

class Solution:

????def isValid(self, s: str) -> bool:

????????stack = []

????????mapping = {")": "(", "}": "{", "]": "["}

????????for char in s:

????????????if char in mapping:

????????????????top_element = stack.pop() if stack else '#'

????????????????if mapping[char] != top_element:

????????????????????return False

????????????else:

????????????????stack.append(char)

????????return not stack

21. 合并兩個有序鏈表

將兩個有序鏈表合并為一個新的有序鏈表并返回蒸走。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成的。?

示例:

輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

解:

class Solution:

????def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:

if l1 == None:? #注意判斷鏈表為空的情況

????????????return l2

????????elif l2 == None:

????????????return l1

lN = None? ? ?#設(shè)置新鏈表

if l1.val

????????????lN = l1

????????????lN.next = self.mergeTwoLists(l1.next,l2)

????????else:

????????????lN = l2

????????????lN.next = self.mergeTwoLists(l1,l2.next)

????????return lN

26. 刪除排序數(shù)組中的重復項

給定一個排序數(shù)組貌嫡,你需要在原地刪除重復出現(xiàn)的元素比驻,使得每個元素只出現(xiàn)一次,返回移除后數(shù)組的新長度岛抄。

不要使用額外的數(shù)組空間别惦,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成。

示例?1:

給定數(shù)組nums=[1,1,2],

函數(shù)應該返回新的長度2, 并且原數(shù)組nums的前兩個元素被修改為1,2夫椭。

你不需要考慮數(shù)組中超出新長度后面的元素掸掸。

示例?2:

給定nums=[0,0,1,1,1,2,2,3,3,4],

函數(shù)應該返回新的長度5, 并且原數(shù)組nums的前五個元素被修改為0,1,2,3,4。

你不需要考慮數(shù)組中超出新長度后面的元素益楼。

說明:

為什么返回數(shù)值是整數(shù)猾漫,但輸出的答案是數(shù)組呢?

請注意点晴,輸入數(shù)組是以“引用”方式傳遞的,這意味著在函數(shù)里修改輸入數(shù)組對于調(diào)用者是可見的悯周。

你可以想象內(nèi)部操作如下:

//nums是以“引用”方式傳遞的粒督。也就是說,不對實參做任何拷貝

int len = removeDuplicates(nums);

// 在函數(shù)里修改輸入數(shù)組對于調(diào)用者是可見的禽翼。

// 根據(jù)你的函數(shù)返回的長度, 它會打印出數(shù)組中該長度范圍內(nèi)的所有元素屠橄。

for (int i = 0; i < len; i++) {

print(nums[i]);

}

解:

class Solution:

????def removeDuplicates(self, nums: List[int]) -> int:

if nums == []:? ?#判斷列表為空的情況

????????????return None

????????else:

????????????a = nums[0]

????????????for i in nums[1:]:?

if i == a:? ? ? ? ?#后一個數(shù)值與前一個比較

nums.remove(i) #相同的數(shù)刪除

????????????????else:

????????????????????a = i

????????return len(nums)

27. 移除元素

給定一個數(shù)組?nums?和一個值?val,你需要原地移除所有數(shù)值等于?val?的元素闰挡,返回移除后數(shù)組的新長度锐墙。

不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成长酗。

元素的順序可以改變溪北。你不需要考慮數(shù)組中超出新長度后面的元素。

示例 1:

給定nums=[3,2,2,3],val=3,

函數(shù)應該返回新的長度2, 并且nums中的前兩個元素均為2夺脾。

你不需要考慮數(shù)組中超出新長度后面的元素之拨。

示例?2:

給定nums=[0,1,2,2,3,0,4,2],val=2,

函數(shù)應該返回新的長度5, 并且nums中的前五個元素為0,1,3,0,4。

注意這五個元素可為任意順序咧叭。

你不需要考慮數(shù)組中超出新長度后面的元素蚀乔。

解:

class Solution:

????def removeElement(self, nums: List[int], val: int) -> int:

if nums == []:? ?#判斷列表為空的情況

????????????return None

????????else:

????????????for i in range(len(nums)):

????????????????if val in nums:

????????????????????nums.remove(val)

????????return len(nums)

28. 實現(xiàn)strStr()

實現(xiàn)?strStr()?函數(shù)。

給定一個?haystack 字符串和一個 needle 字符串菲茬,在 haystack 字符串中找出 needle 字符串出現(xiàn)的第一個位置 (從0開始)吉挣。如果不存在,則返回??-1婉弹。

示例 1:

輸入:haystack = "hello", needle = "ll"

輸出:2

示例 2:

輸入:haystack = "aaaaa", needle = "bba"

輸出:-1

說明:

當?needle?是空字符串時睬魂,我們應當返回什么值呢?這是一個在面試中很好的問題马胧。

對于本題而言汉买,當?needle?是空字符串時我們應當返回 0 。這與C語言的?strstr()?以及 Java的?indexOf()?定義相符佩脊。

解:

class Solution:

????def strStr(self, haystack: str, needle: str) -> int:

????????if not needle:

????????????return 0

????????else:

????????????l1 = len(needle)

????????????l2 = len(haystack)

????????????i = 0

????????????for x in haystack:

????????????????if x == needle[0] and i+l1 <= l2 and haystack[i:i+l1] == needle:

????????????????????return i

????????????????i +=1????????????????

????????????return -1

35. 搜索插入位置

給定一個排序數(shù)組和一個目標值蛙粘,在數(shù)組中找到目標值,并返回其索引威彰。如果目標值不存在于數(shù)組中出牧,返回它將會被按順序插入的位置。

你可以假設(shè)數(shù)組中無重復元素歇盼。

示例 1:

輸入:[1,3,5,6], 5

輸出:2

示例?2:

輸入:[1,3,5,6], 2

輸出:1

示例 3:

輸入:[1,3,5,6], 7

輸出:4

示例 4:

輸入:[1,3,5,6], 0

輸出:0

解:

class Solution:

????def searchInsert(self, nums: List[int], target: int) -> int:

????????if target > nums[-1]:

????????????return len(nums)

????????if target < nums[0]:

????????????return 0

????????if nums[0] <= target <= nums[-1]:

????????????for i in range(len(nums)):

????????????????if nums[i] == target:

????????????????????return i

????????????????elif nums[i] < target < nums[i+1]:

????????????????????return i+1??

53. 最大子序和

給定一個整數(shù)數(shù)組?nums?舔痕,找到一個具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個元素),返回其最大和。

示例:

輸入:[-2,1,-3,4,-1,2,1,-5,4],

輸出:6

解釋:連續(xù)子數(shù)組 [4,-1,2,1] 的和最大伯复,為 6慨代。

解:

class Solution:

????def maxSubArray(self, nums: List[int]) -> int:

????????for i in range(1, len(nums)):

????????????nums[i]= nums[i] + max(nums[i-1], 0)

????????return max(nums)

58. 最后一個單詞的長度

給定一個僅包含大小寫字母和空格?' '?的字符串,返回其最后一個單詞的長度啸如。

如果不存在最后一個單詞侍匙,請返回 0?。

說明:一個單詞是指由字母組成叮雳,但不包含任何空格的字符串想暗。

示例:

輸入:"Hello World"

輸出:5

解:

class Solution:

????def lengthOfLastWord(self, s: str) -> int:

#s =?"Hello World"

????????l = s.split()

#l =?['Hello', 'World']

????????if len(l)==0:

????????????return 0

????????return len(l[-1])

66. 加一

給定一個由整數(shù)組成的非空數(shù)組所表示的非負整數(shù),在該數(shù)的基礎(chǔ)上加一帘不。

最高位數(shù)字存放在數(shù)組的首位说莫, 數(shù)組中每個元素只存儲一個數(shù)字。

你可以假設(shè)除了整數(shù) 0 之外寞焙,這個整數(shù)不會以零開頭储狭。

示例?1:

輸入:[1,2,3]

輸出:[1,2,4]

解釋:輸入數(shù)組表示數(shù)字 123。

示例?2:

輸入:[4,3,2,1]

輸出:[4,3,2,2]

解釋:輸入數(shù)組表示數(shù)字 4321棺弊。

解:

class Solution:

????def plusOne(self, digits: List[int]) -> List[int]:

????????num = ''.join(map(str, digits))

?print(num)? ? # 123?

????????result = map(int, str(int(num) + 1))

return list(result)? #[1,2,4]

67. 二進制求和

給定兩個二進制字符串晶密,返回他們的和(用二進制表示)。

輸入為非空字符串且只包含數(shù)字?1?和?0模她。

示例?1:

輸入:a = "11", b = "1"

輸出:"100"

示例?2:

輸入:a = "1010", b = "1011"

輸出:"10101"

解:

class Solution:

????def addBinary(self, a: str, b: str) -> str:

x = int(a,2) #二進制轉(zhuǎn)換成十進制

????????y = int(b,2)

z = bin(x+y)[2:]?#十進制轉(zhuǎn)換成二進制

????????return z

69. x 的平方根

實現(xiàn)?int sqrt(int x)?函數(shù)。

計算并返回?x?的平方根懂牧,其中?x?是非負整數(shù)侈净。

由于返回類型是整數(shù),結(jié)果只保留整數(shù)的部分僧凤,小數(shù)部分將被舍去畜侦。

示例 1:

輸入:4

輸出:2

示例 2:

輸入:8

輸出:2

說明:8 的平方根是 2.82842...,

由于返回類型是整數(shù),小數(shù)部分將被舍去躯保。

解:

class Solution:

????def mySqrt(self, x: int) -> int:

????????if x <= 1:

????????????return x

????????else:

????????????for i in range(x+1):

????????????????if i*i > x:

????????????????????return i-1

70. 爬樓梯

假設(shè)你正在爬樓梯旋膳。需要?n?階你才能到達樓頂。

每次你可以爬 1 或 2 個臺階途事。你有多少種不同的方法可以爬到樓頂呢验懊?

注意:給定?n?是一個正整數(shù)。

示例 1:

輸入:2

輸出:2

解釋:有兩種方法可以爬到樓頂尸变。

1. 1 階 + 1 階

2. 2 階

示例 2:

輸入:3

輸出:3

解釋:有三種方法可以爬到樓頂义图。

1. 1 階 + 1 階 + 1 階

2. 1 階 + 2 階

3. 2 階 + 1 階

解:

class Solution:

????def climbStairs(self, n: int) -> int:

????????a =1

????????b =1

????????for i in range(n):

????????????a,b = b,a+b

????????return a

83. 刪除排序鏈表中的重復元素

給定一個排序鏈表,刪除所有重復的元素召烂,使得每個元素只出現(xiàn)一次碱工。

示例?1:

輸入:1->1->2

輸出:1->2

示例?2:?

輸入:1->1->2->3->3

輸出:1->2->3

解:

class Solution:

????def deleteDuplicates(self, head: ListNode) -> ListNode:

????????ans = head

????????while head != None:

????????????if head.next != None and head.val == head.next.val:

????????????????head.next = head.next.next

????????????else:

????????????????head = head.next

????????return ans

88. 合并兩個有序數(shù)組

給定兩個有序整數(shù)數(shù)組?nums1?和?nums2,將?nums2?合并到?nums1?中,使得?num1?成為一個有序數(shù)組怕篷。

說明:

初始化?nums1?和?nums2?的元素數(shù)量分別為?m?和?n历筝。

你可以假設(shè)?nums1?有足夠的空間(空間大小大于或等于?m + n)來保存?nums2?中的元素。

示例:

輸入:

nums1 = [1,2,3,0,0,0], m = 3

nums2 = [2,5,6], n = 3

輸出:[1,2,2,3,5,6]

解:

class Solution:

????def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:

????????"""

????????Do not return anything, modify nums1 in-place instead.

????????"""

????????res1 = nums1[0:m]

????????res2 = nums2[0:n]

????????nums1[0:m+n]= sorted(res1+res2)

解:(二)

res1 = nums1[0:m]

res2 = nums2[0:n]

res1.extend(res2)

nums1[0:m+n]=sorted(res1)

100. 相同的樹

給定兩個二叉樹廊谓,編寫一個函數(shù)來檢驗它們是否相同梳猪。

如果兩個樹在結(jié)構(gòu)上相同,并且節(jié)點具有相同的值蹂析,則認為它們是相同的舔示。

示例?1:

輸入: 1? ? 1

? ? ? ? / \? ? / \

? ? ? 2? 3? 2? 3

[1,2,3], [1,2,3]

輸出:true

示例 2:

輸入:? 1? ?1

? ? ? ? ? /? ? ? \

? ? ? ?2? ? ? ? ? 2

[1,2], [1,null,2]

輸出:false

示例?3:

輸入:? 1? ? ? 1

? ? ? ? ?/? \? ? /? \

? ? ? ?2? ?1? 1? ? 2

[1,2,1], [1,1,2]

輸出:false

解:

class Solution:

????def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:

????????if p == None and q == None:

????????????return True

????????elif p and q:

????????????if p.val == q.val:

????????????????return self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right)

????????????else:

????????????????return False

????????else:

????????????return False

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市电抚,隨后出現(xiàn)的幾起案子惕稻,更是在濱河造成了極大的恐慌,老刑警劉巖蝙叛,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俺祠,死亡現(xiàn)場離奇詭異,居然都是意外死亡借帘,警方通過查閱死者的電腦和手機蜘渣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肺然,“玉大人蔫缸,你說我怎么就攤上這事〖势穑” “怎么了拾碌?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長街望。 經(jīng)常有香客問我校翔,道長,這世上最難降的妖魔是什么灾前? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任防症,我火速辦了婚禮,結(jié)果婚禮上哎甲,老公的妹妹穿的比我還像新娘蔫敲。我一直安慰自己,他們只是感情好烧给,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布燕偶。 她就那樣靜靜地躺著,像睡著了一般础嫡。 火紅的嫁衣襯著肌膚如雪指么。 梳的紋絲不亂的頭發(fā)上酝惧,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天,我揣著相機與錄音伯诬,去河邊找鬼晚唇。 笑死,一個胖子當著我的面吹牛盗似,可吹牛的內(nèi)容都是我干的哩陕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼赫舒,長吁一口氣:“原來是場噩夢啊……” “哼悍及!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起接癌,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤心赶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缺猛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缨叫,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年荔燎,在試婚紗的時候發(fā)現(xiàn)自己被綠了耻姥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡有咨,死狀恐怖琐簇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情座享,我是刑警寧澤鸽嫂,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站征讲,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏橡娄。R本人自食惡果不足惜诗箍,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挽唉。 院中可真熱鬧滤祖,春花似錦、人聲如沸瓶籽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽塑顺。三九已至汤求,卻和暖如春俏险,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扬绪。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工竖独, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挤牛。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓莹痢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親墓赴。 傳聞我的和親對象是個殘疾皇子竞膳,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

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