问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3818 访问。

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

输入: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


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3818 访问。

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种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3818 访问。

sweet sour

分析:

显而易见,以上算法的时间复杂度为: 

C#LeetCode刷题之#21-合并两个有序链表(Merge Two Sorted Lists)相关推荐

  1. LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)

    /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int ...

  2. LeetCode刷题Java——88.合并两个有序数组(简单)

    题目 给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目. 请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列. ...

  3. LeetCode 21. 合并两个有序链表(链表)

    上一篇博客:LeetCode 20. 有效的括号(栈.字符串)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.最近萌生了刷LeetCode ...

  4. 【LeetCode】【HOT】21. 合并两个有序链表(递归)

    [LeetCode][HOT 100]21. 合并两个有序链表 文章目录 [LeetCode][HOT 100]21. 合并两个有序链表 package hot;import java.util.Ar ...

  5. [递归|迭代] leetcode 21 合并两个有序链表

    [递归|迭代] leetcode 21 合并两个有序链表 1.题目 题目链接 将两个升序链表合并为一个新的升序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2 ...

  6. leetcode 21 java_LeetCode 21. 合并两个有序链表

    LeetCode 21. 合并两个有序链表 题目 将两个升序链表合并为一个新的升序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1-> ...

  7. Java实现 LeetCode 21 合并两个有序链表

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1 ...

  8. 21. 合并两个有序链表 JavaScript实现

    21. 合并两个有序链表 合并有序链表 一.递归 递归详解 /*** Definition for singly-linked list.* function ListNode(val, next) ...

  9. LeetCode 21合并两个有序链表22括号生成

    微信搜索bigsai,回复进群,加入打卡.维护不易,欢迎点赞支持! 合并两个有序列表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...

最新文章

  1. 如何用css让一个容器水平垂直居中
  2. 【51CTO学院三周年】写给自己的51cto
  3. Leetcode987 二叉树的垂序遍历
  4. git submodule使用
  5. 写在前面-2015.11.30
  6. 未结束的字符文字_PAT B1042:字符统计
  7. Impala 调用Hbase 报错 LeaseException
  8. 25 PP模块-创建工厂日历报错-请输入年度xxxx和xxxx之间的有效区域
  9. 【TensorFlow】TensorFlow函数精讲之tf.get_variable()和tf.get_variable_scope()
  10. utm坐标和经纬度转换_【技术】经纬度WGS84地理坐标系转换成CGCS2000坐标系步骤...
  11. 【OS】Linux下 /dev 常见特殊设备介绍与应用[loop]
  12. OA系统新流程创建与管理办法
  13. 【博主推荐】html好看的年会抽奖(附源码)
  14. 项目中出现npm WARN locking errno: -4048, npm WARN locking code: ‘EPERM‘, npm WARN locking syscall:
  15. Win7设置开机密码后开机不需要输入密码
  16. uni.showToast() 提示
  17. 和平精英怎么在电脑上玩?匹配手机最简单的方式玩你值得拥有
  18. win10系统1903版本设置默认英文输入法
  19. ERROR [KafkaApi-1] Number of alive brokers ‘1‘ does not meet the required replication factor ‘2‘ for
  20. yy直播接口开发手册php,微信小程序 服务端接口·直播间接口

热门文章

  1. 关于 SQL Server Analysis Services
  2. oracle比较两个表数据的差异
  3. 【今日CS 视觉论文速览】Thu, 14 Feb 2019
  4. log4j的使用 20210719091111861
  5. 子查询 不同情况 mysql
  6. Map集合 java
  7. private关键字 java 1613808402
  8. 输出语句 WriteLine 与格式化输出 1006 c#
  9. 进制转换练习-其它进制转换为十进制
  10. JDK动态代理和CGLib动态代理简单演示