当前位置: 首页 > wzjs >正文

河北省政府网站集约化建设java培训

河北省政府网站集约化建设,java培训,嘉兴网站建设正规公司,怎样做公司的网站建设题目来源 21. 合并两个有序链表 - 力扣(LeetCode) 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出&#xff1…

题目来源

21. 合并两个有序链表 - 力扣(LeetCode)

题目描述

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

示例

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:[]

示例 3:

输入:l1 = [], l2 = [0]
输出:[0]

提示

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1 和 l2 均按 非递减顺序 排列

题目解析

本题的要求是:需要使用 list1 和 list2 的节点来构成合并后的链表。

这里我们可以为合并后的链表创建一个虚拟头节点 dummy_head,之后按照下面图示逻辑进行:

C源码实现

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {struct ListNode* dummy_head = (struct ListNode*)malloc(sizeof(struct ListNode));dummy_head->val = 0;dummy_head->next = NULL;struct ListNode* tail = dummy_head;while (list1 != NULL && list2 != NULL) {if (list1->val < list2->val) {tail->next = list1;list1 = list1->next;} else {tail->next = list2;list2 = list2->next;}tail = tail->next;}tail->next = list1 != NULL ? list1 : list2;return dummy_head->next;
}

C++源码实现

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {ListNode* dummy_head = new ListNode(0, nullptr);ListNode* tail = dummy_head;while (list1 != nullptr && list2 != nullptr) {if (list1->val < list2->val) {tail->next = list1;list1 = list1->next;} else {tail->next = list2;list2 = list2->next;}tail = tail->next;}tail->next = list1 != nullptr ? list1 : list2;return dummy_head->next;}
};

Java源码实现

/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode dummy_head = new ListNode(0, null);ListNode tail = dummy_head;while (list1 != null && list2 != null) {if (list1.val < list2.val) {tail.next = list1;list1 = list1.next;} else {tail.next = list2;list2 = list2.next;}tail = tail.next;}tail.next = list1 != null ? list1 : list2;return dummy_head.next;}
}

Python源码实现

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def mergeTwoLists(self, list1, list2):""":type list1: Optional[ListNode]:type list2: Optional[ListNode]:rtype: Optional[ListNode]"""dummy_head = ListNode(0, None)tail = dummy_headwhile list1 != None and list2 != None:if list1.val < list2.val:tail.next = list1list1 = list1.nextelse:tail.next = list2list2 = list2.nexttail = tail.nexttail.next = list1 if list1 else list2return dummy_head.next

JavaScript源码实现

/*** Definition for singly-linked list.* function ListNode(val, next) {*     this.val = (val===undefined ? 0 : val)*     this.next = (next===undefined ? null : next)* }*/
/*** @param {ListNode} list1* @param {ListNode} list2* @return {ListNode}*/
var mergeTwoLists = function (list1, list2) {const dummy_head = new ListNode(0, null);let tail = dummy_head;while (list1 != null && list2 != null) {if (list1.val < list2.val) {tail.next = list1;list1 = list1.next;} else {tail.next = list2;list2 = list2.next;}tail = tail.next;}tail.next = list1 != null ? list1 : list2;return dummy_head.next;
};

http://www.dtcms.com/wzjs/330398.html

相关文章:

  • wix做网站长春seo结算
  • 大理中小企业网站建设外贸快车
  • 试玩网站怎么做哪个平台可以接推广任务
  • html网页设计作品及其赏析关键词seo公司
  • 专做批发的网站电子软文营销写作技巧
  • 东莞php网站建设价格朝阳网站建设公司
  • 做企业网站需要多少钱广告优化师是做什么的
  • 域名是否就是网站免费建网站知乎
  • 专业网站建设价格分析市场营销说白了就是干什么的
  • 好的网站域名百度推广app怎么收费
  • wordpress dede苏州网站seo优化
  • 网站做支付端口的费用网络媒体发稿
  • 互联网b2b是什么意思百度seo优
  • 丽水专业网站建设哪家好网站seo整站优化
  • 网站建设私单软件开发外包公司
  • 上海专业网站优化排名电商运营培训机构哪家好
  • 做哪个网站有效果求职seo
  • wordpress 产品属性seo快速整站上排名教程
  • wordpress本地运行速度慢黑帽seo是什么
  • 昆明党风廉政建设网站济南全网推广
  • 如何自制自己的网站seo教程自学入门教材
  • 长春专业做网站公司排名品牌营销策略包括哪些内容
  • 电脑做试卷的网站推广链接点击器
  • wordpress创建动态页面seo站群优化技术
  • 做营销型网站的企业seo外链工具源码
  • 做app网站的软件叫什么名字吗舟山seo
  • 东莞网站建设 餐饮合肥seo排名扣费
  • 做网站怎么赚钱知乎seo网络培训学校
  • 正规网站建设公司抖音关键词搜索指数
  • 自已电脑做网站bt蚂蚁