21. Merge Two Sorted Lists(Linked List-Easy)
来源:互联网 发布:mpv mac 字幕 编辑:程序博客网 时间:2024/05/22 10:44
转载请注明作者和出处:http://blog.csdn.net/c406495762
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.
将两个排序的链表合并,返回一个新链表,返回的新链表也是排好序的。
解题思路:
- 创建两个链表,一个负责保存头节点,一个负责记录比较后的结果。
Language : c
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) { struct ListNode* newlist = (struct ListNode *)malloc(sizeof(struct ListNode)); struct ListNode* temp = (struct ListNode *)malloc(sizeof(struct ListNode)); newlist = temp; while(l1 && l2){ if(l1->val < l2->val){ temp->next = l1; l1 = l1->next; } else{ temp->next = l2; l2 = l2->next; } temp = temp->next; } temp->next = l1 ? l1 : l2; return newlist->next;}
Language : cpp
/** * 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) { ListNode newlist(INT_MIN); ListNode *temp = &newlist; if(l1 == NULL && l2 == NULL){ return NULL; } if(l1 != NULL && l2 == NULL){ return l1; } if(l1 == NULL && l2 != NULL){ return l2; } while(l1 && l2){ if(l1->val < l2->val){ temp->next = l1; l1 = l1->next; } else{ temp->next = l2; l2 = l2->next; } temp = temp->next; } temp->next = l1 ? l1 : l2; return newlist.next; }};
Language:python
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def mergeTwoLists(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ result = cur = ListNode(0) while l1 and l2: if l1.val < l2.val: cur.next = l1 l1 = l1.next else: cur.next = l2 l2 = l2.next cur = cur.next cur.next = l1 or l2 return result.next
LeetCode题目汇总: https://github.com/Jack-Cherish/LeetCode
0 0
- 21. Merge Two Sorted Lists(Linked List-Easy)
- 21. Merge Two Sorted Lists(Linked List)
- 【LeetCode】【Linked List】Merge Two Sorted Lists
- 21. Merge Two Sorted Lists [easy] (Python)
- 21. Merge Two Sorted Lists (Easy)
- LeetCode 21. Merge Two Sorted Lists (Easy)
- Merge Two Sorted Lists (EASY)
- Merge two sorted linked lists
- Merge two sorted linked lists
- Merge two sorted linked lists
- Merge two Sorted linked lists
- Merge two sorted linked list
- Leet Code OJ 21. Merge Two Sorted Lists [Difficulty: Easy]
- Easy-题目23:21. Merge Two Sorted Lists
- Leetcode 21. Merge Two Sorted Lists (Easy) (cpp)
- [Leetcode 21, Easy] Merge Two Sorted Lists
- Merge Two Sorted Lists(easy)
- 【Leetcode-Easy-21】Merge Two Sorted Lists
- 剑指Offer(1)______二维数组中的查找
- 基于浏览器请求的国际化实现
- Java动态代理详解
- 生成一个C++对象的成本
- CCF第一题--折点计数
- 21. Merge Two Sorted Lists(Linked List-Easy)
- 割木块
- 学习淘淘商城第七课(SSM框架整合之逆向工程)
- 关于Java面向对象基本特征的一些理解
- Linux下Tomcat的安装配置
- JavaWeb跨域访问问题
- Python 编码规范
- 【大惊喜】网易云短信服务全面降价啦!
- 基于HttpSession的国际化实现