C#LeetCode刷題之#21-合併兩個有序連結串列(Merge Two Sorted Lists)
問題
將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4
示例
public class Program { public static void Main(string[] args) { var A = "this apple is sweet"; var B = "this apple is sour"; var res = UncommonFromSentences(A, B); ShowArray(res); Console.ReadKey(); } private static void ShowArray(IList<string> array) { foreach(var domain in array) { Console.Write($"{domain} "); } Console.WriteLine(); } private static string[] UncommonFromSentences(string A, string B) { string[] wordA = A.Split(' '); string[] wordB = B.Split(' '); var dicA = new Dictionary<string, int>(); var dicB = new Dictionary<string, int>(); var res = new List<string>(); foreach(var word in wordA) { if(dicA.ContainsKey(word)) { dicA[word]++; } else { dicA[word] = 1; } } foreach(var word in wordB) { if(dicB.ContainsKey(word)) { dicB[word]++; } else { dicB[word] = 1; } } foreach(var kvp in dicA) { if(kvp.Value == 1 && !dicB.ContainsKey(kvp.Key)) { res.Add(kvp.Key); } } foreach(var kvp in dicB) { if(kvp.Value == 1 && !dicA.ContainsKey(kvp.Key)) { res.Add(kvp.Key); } } return res.ToArray(); } }
以上給出1種演算法實現,以下是這個案例的輸出結果:
sweet sour
分析:
顯而易見,以上演算法的時間複雜度為: 。
相關推薦
C#LeetCode刷題之#21-合併兩個有序連結串列(Merge Two Sorted Lists)
問題 將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 Merge
【leetcode】21. 合併兩個有序連結串列(C解答)
題目: 將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出
合併兩個有序連結串列(注意空指標異常)
將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 要注意判斷兩個結點是否為空結點,不然會出現空指標異常 /** * Definition for singly-linked list. * public class
leetcode 21. 合併兩個有序連結串列 C語言版
將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 可以通過一次遍歷同時掃描
LeetCode刷題Easy篇合併兩個有序陣列
題目 Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: The
LeetCode 21. 合併兩個有序連結串列 Merge Two Sorted Lists(C語言)
題目描述: 將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4
LeetCode 21.合併兩個有序連結串列 C++程式碼實現
題目描述: 將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4
Leetcode做題日記:21. 合併兩個有序連結串列(PYTHON)
將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 L1=ListNo
leetcode 21. 合併兩個有序連結串列 C++版
將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 分析: 首
LeetCode 21 合併兩個有序連結串列--python
將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 # Definiti
【LeetCode】21 合併兩個有序連結串列
將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 解題思路: 1
Leetcode演算法Java全解答--21. 合併兩個有序連結串列
Leetcode演算法Java全解答–21. 合併兩個有序連結串列 文章目錄 Leetcode演算法Java全解答--21. 合併兩個有序連結串列 題目 想法 結果 總結 程式碼 我的答案
leetcode 21.合併兩個有序連結串列
合併兩個有序連結串列 本人大四實習生,水平有限。有錯望海涵。 思路 可使用遞迴。比較兩個連結串列的頭結點,值小的當頭結點 程式碼 /** * Definition for singly-linked list. * public class
LeetCode 21. 合併兩個有序連結串列 Python
將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 # Defini
LeetCode-21. 合併兩個有序連結串列
題目 將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 解題
LeetCode 21 ——合併兩個有序連結串列
1. 題目 2. 解答 新建一個帶有哨兵結點的連結串列,依次比較兩個有序連結串列的結點值,將較小值的結點插入到新連結串列後面。直到其中一個比較完畢,將另一個連結串列剩餘的結點全部放到新連結串列最後面
LeetCode 21. 合併兩個有序連結串列(Merge Two Sorted Lists)
題目描述 將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1-
[LeetCode]21. 合併兩個有序連結串列 —— javascript
21. 合併兩個有序連結串列 將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。 var mergeTwoLists = function (l1, l2) { var lHead = new
【LeetCode】21. 合併兩個有序連結串列
邏輯比較簡單, 但是感覺對連結串列的掌握程度不夠,需要重新學習一遍連結串列的基本操作。 class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode* Hea
合併兩個有序連結串列(LeetCode 21. Merge Two Sorted Lists)
雙指標連結串列解法: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x)