/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {//如果两个链表都空if(l1 == NULL && l2 == NULL){return NULL;}//如果l1空,l2不空if(l1 == NULL && l2 != NULL){return l2;}//如果l2空,l1不空if(l2 == NULL && l1 != NULL){return l1;}//如果两个链表都不空struct ListNode* l3 = NULL;if(l1 != NULL && l2 != NULL){if(l1->val <= l2->val) {l3 = l1; l1 = l1->next;}else {l3 = l2; l2 = l2->next;}}struct ListNode* end = l3;while(l1 != NULL && l2 != NULL){if(l1->val <= l2->val){end->next = l1;l1 = l1->next;}else{end->next = l2;l2 = l2->next;}end = end->next;}if(l1 == NULL && l2 != NULL){end->next = l2;}if(l2 == NULL && l1 != NULL){end->next = l1;}return l3;}
};void trimLeftTrailingSpaces(string &input) {input.erase(input.begin(), find_if(input.begin(), input.end(), [](int ch) {return !isspace(ch);}));
}void trimRightTrailingSpaces(string &input) {input.erase(find_if(input.rbegin(), input.rend(), [](int ch) {return !isspace(ch);}).base(), input.end());
}vector<int> stringToIntegerVector(string input) {vector<int> output;trimLeftTrailingSpaces(input);trimRightTrailingSpaces(input);input = input.substr(1, input.length() - 2);stringstream ss;ss.str(input);string item;char delim = ',';while (getline(ss, item, delim)) {output.push_back(stoi(item));}return output;
}ListNode* stringToListNode(string input) {// Generate list from the inputvector<int> list = stringToIntegerVector(input);// Now convert that list into linked listListNode* dummyRoot = new ListNode(0);ListNode* ptr = dummyRoot;for(int item : list) {ptr->next = new ListNode(item);ptr = ptr->next;}ptr = dummyRoot->next;delete dummyRoot;return ptr;
}string listNodeToString(ListNode* node) {if (node == nullptr) {return "[]";}string result;while (node) {result += to_string(node->val) + ", ";node = node->next;}return "[" + result.substr(0, result.length() - 2) + "]";
}int main() {string line;while (getline(cin, line)) {ListNode* l1 = stringToListNode(line);getline(cin, line);ListNode* l2 = stringToListNode(line);ListNode* ret = Solution().mergeTwoLists(l1, l2);string out = listNodeToString(ret);cout << out << endl;}return 0;
}

LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)相关推荐

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

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

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

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

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

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

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

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

  5. 【Java】leetCode 21 合并两个有序链表

    题目 : 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 解题思路 : 1.依据以上两个升序链表进行拼接: 2.先定义一个傀儡节点newHead,用来 ...

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

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

  7. leetcode - 21. 合并两个有序链表

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

  8. leetcode 21.合并两个有序链表

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

  9. LeetCode 21 ——合并两个有序链表

    1. 题目 2. 解答 新建一个带有哨兵结点的链表,依次比较两个有序链表的结点值,将较小值的结点插入到新链表后面.直到其中一个比较完毕,将另一个链表剩余的结点全部放到新链表最后面即可.最后,可以删除哨 ...

最新文章

  1. 中间省略_手机号码中间4位设置为*号,我用了5小时,可同事8秒就搞定了
  2. 浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源
  3. python实现序列数据预处理_Python笔记:序列处理函数
  4. php disable classes,PHP安全配置基础教程(3)
  5. 绑定方法和非绑定方法
  6. python处理excel可视化_python如何将excel数据处理可视化
  7. 计算机架构专业排名,全国大学计算机专业排名(转贴)
  8. python编写爬虫代码_python编写简单爬虫资料汇总
  9. AcWing 101. 最高的牛
  10. fcq java_Java设计模式百例 - 解释器模式
  11. 华为 “Telnet” 登录设备
  12. Spring Cloud Eureka服务注册中心 多节点搭建(学习总结)
  13. B2C电商系统源码 在线商城源码
  14. bat 一键清理系统垃圾的修改
  15. DriverFinder(电脑驱动升级软件)官方正式版V4.1.0.0 | 最好的电脑驱动软件之一 | win10更新驱动用什么软件
  16. C盘无法扩展卷(因后面有个恢复分区)——删除恢复分区
  17. boost电路公式详解
  18. latex 花体之英文字母
  19. 移动光猫RAISECOM的配置方法
  20. 计算机老师感言,信息技术教师感言

热门文章

  1. 神策数据面向互联网金融企业提供行业解决方案
  2. 关于exchange 2013输入账号密码后owa空白页解决方法
  3. tomcat 域名的配置
  4. 浏览器 user-agent 字符串的故事
  5. zoj 3386 Trick or Treat 三分 求最大值的 最小值
  6. log-malloc2 0.2.4 发布
  7. 杭州中联高级技术培训中心CCNA实验手册
  8. 请问一个表的update能同时触发两个触发器吗?
  9. overleaf文章管理
  10. 直男对于产品经理的思考