原创 【牛客網OJ題】合併兩個有序鏈表

 問題描述: 輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,當然我們需要合成後的鏈表滿足單調不減規則。 分析: 定義一個新的鏈表,用來存放合併後的鏈表,並記錄該鏈表的頭結點。 1.判斷list1是否爲空,如果爲空直接返回list

原创 【力扣】移除元素

問題描述: 給定一個數組 nums 和一個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後數組的新長度。 不要使用額外的數組空間,你必須在原地修改輸入數組並在使用 O(1) 額外空間的條件下完成。 元素的順序可以改變。

原创 【牛客網OJ題】鏈表分割

問題描述: 編寫代碼,以給定值x爲基準將鏈表分割成兩部分,所有小於x的結點排在大於或等於x的結點之前 給定一個鏈表的頭指針 ListNode* pHead,請返回重新排列後的鏈表的頭指針。注意:分割以後保持原來的數據順序不變。 分析:

原创 【力扣】旋轉數組

問題描述: 給定一個數組,將數組中的元素向右移動 k 個位置,其中 k 是非負數。 示例 : 輸入: [1,2,3,4,5,6,7] 和 k = 3 輸出: [5,6,7,1,2,3,4]解釋: 向右旋轉 1 步: [7,1,2,3

原创 【牛客網OJ題】字符集合

問題描述: 輸入一個字符串,求出該字符串包含的字符集合。   輸入描述: 每組數據輸入一個字符串,字符串最大長度爲100,且僅包含字母,不可能爲空串,區別大小寫。 輸出描述: 每組數據一行,按串聯前綴的字符順序,輸出字符集

原创 【力扣】轉換成小寫字母

 問題描述: 實現函數 ToLowerCase(),該函數接收一個字符串參數 str,並將該字符串中的大寫字母轉換成小寫字母,之後返回新的字符串。 示例 : 輸入: "Hello" 輸出: "hello" 輸入: "here"

原创 【力扣】第三大的數

問題描述: 給定一個非空數組,返回此數組中第三大的數。如果不存在,則返回數組中最大的數。要求算法時間複雜度必須是O(n)。 示例: 示例 1: 輸入: [3, 2, 1] 輸出: 1 解釋: 第三大的數是 1. 示例 2: 輸入

原创 【力扣】二進制求和

問題描述: 給定兩個二進制字符串,返回他們的和(用二進制表示)。 輸入爲非空字符串且只包含數字 1 和 0。 示例: 示例 1: 輸入: a = "11", b = "1" 輸出: "100" 示例 2: 輸入: a = "10

原创 【劍指offer】二叉樹和爲某一值的路徑

題目描述: 輸入一顆二叉樹的跟節點和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義爲從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,數組長度大的數組靠前)  分析: 整體思

原创 【牛客網OJ題】到底買不買

問題描述: 小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。於是小紅要你幫忙判斷一下,某串珠子裏是否包含了全部自己想要的珠子?如果是,那麼告訴她有多少多餘的珠子;如果不是,那麼告訴她缺

原创 【劍指offer】字符串的排列

 問題描述:  輸入一個字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串abc,則打印出由字符a,b,c所能排列出來的所有字符串abc,acb,bac,bca,cab和cba。  輸入描述: 輸入一個字符串,長度不超

原创 【牛客網OJ題】火車進站

問題描述: 給定一個正整數N代表火車數量,0 <N <10,接下來輸入火車入站的序列,一共N輛火車,每輛火車以數字1-9編號。序列號。 輸入描述: 有多組測試用例,每一組第一行輸入一個正整數N(0 <N <10),第二行包括N個

原创 【力扣】合併有序數組

問題描述: 給定兩個有序整數數組 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成爲一個有序數組。 說明: 初始化 nums1 和 nums2 的元素數量分別爲 m 和 n。 你可以假設 num

原创 【力扣】加一

問題描述: 給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。 最高位數字存放在數組的首位, 數組中每個元素只存儲單個數字。 你可以假設除了整數 0 之外,這個整數不會以零開頭。 示例: 示例 1: 輸入: [1,2

原创 【力扣】在排序數組中查找元素的第一個和最後一個的位置

問題描述: 給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間複雜度必須是 O(log n) 級別。 如果數組中不存在目標值,返回 [-1, -1]。 示例