[LeetCode]|[LeetCode] 21. Merge Two Sorted Lists
【[LeetCode]|[LeetCode] 21. Merge Two Sorted Lists】这题前几天在哈啰出行南京大学现场笔试碰到了,因为没考虑到“一个链表遍历完,另一个链表没遍历完”这个边界条件,导致笔试挂掉,实在很不应该。亡羊补牢,犹未晚矣,于是我就又在LeetCode上做了一遍。我这里给的Solution可能不是最佳的,但也还凑合。
/**
* 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* sentinel = new ListNode(0);
ListNode* p = sentinel;
while (l1 != nullptr || l2 != nullptr) {
if (l1 && !l2) {
p->next = new ListNode(l1->val);
l1 = l1->next;
} else if (!l1 && l2) {
p->next = new ListNode(l2->val);
l2 = l2->next;
} else {
if (l1->val < l2->val) {
p->next = new ListNode(l1->val);
l1 = l1->next;
} else {
p->next = new ListNode(l2->val);
l2 = l2->next;
}
}
p = p->next;
}
return sentinel->next;
}
};
推荐阅读
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- leetcode|leetcode 92. 反转链表 II
- 二叉树路径节点关键值和等于目标值(LeetCode--112&LeetCode--113)
- LeetCode算法题-11.|LeetCode算法题-11. 盛最多水的容器(Swift)
- LeetCode(03)Longest|LeetCode(03)Longest Substring Without Repeating Characters
- 【秀娟习惯养成记—2021.3.11】
- Leetcode|Leetcode No.198打家劫舍
- 2021.4.8日《我们为什么无法摆脱慢性疾病》常斌
- [leetcode数组系列]1两数之和
- 2021.5.5|2021.5.5 五一第五天