合并两个有序的链表,问题来源:https://leetcode.com/problems/merge-two-sorted-lists/
分析:本质是很简单的,归并排序中的一个小节。难点在于链表操作,容易出现失误。很久没碰c++手生的很。
- 链表的构造函数的声明问题
- struct结构的对象构建
- val元素,next元素的引用
- 关于是否有头指针的辨别
代码如下:
class Solution { public: ListNode* mergeTwoLists(ListNode* ll1, ListNode* ll2) { ListNode* l3 = new ListNode(-1) ; ListNode* ll3; ll3 = l3; while(ll1 != NULL || ll2 != NULL){ if((ll1 == NULL && ll2 != NULL) || (ll1 != NULL &&ll2 != NULL && (ll1->val > ll2->val))){ ll3->next = new ListNode(ll2->val); ll2 = ll2->next; }else{ ll3->next = new ListNode(ll1->val); ll1 = ll1->next; } ll3 = ll3->next; } return l3->next; } };