21. Merge Two Sorted Lists 기초 문제 의 두 가지 정련 해법
1414 단어 데이터 구조
/**
* 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) return l2;
if(l2 == NULL) return l1;
if(l1->val > l2->val){
l2->next = mergeTwoLists(l1, l2->next);
return l2;
}else{
l1->next = mergeTwoLists(l1->next, l2);
return l1;
}
}
};
법 2: 재 귀적 인 정련 코드:
/**
* 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 dummy(1);
ListNode* tail = &dummy;// , , dummy , new ,
while(l1 && l2){
if(l1->val > l2->val){
tail->next = l2;
l2 = l2->next;
}else{
tail->next = l1;
l1 = l1->next;
}
tail = tail->next;
}
//tail->next = l1 ? l1 : l2;
l1 == NULL? tail->next = l2: tail->next = l1;
return dummy.next;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.