合并两个有序链表-排序
- (SSNode *)mergerLink:(SSNode *)nodeHeadOne nodeHeadTwo:(SSNode *)nodeHeadTwo {
SSNode *cur = nil;
SSNode *newHead = nil;
//赋值newhead
if(nodeHeadOne.value < nodeHeadTwo.value) {
cur = newHead = nodeHeadOne;
nodeHeadOne = nodeHeadOne.next;
}else {
cur = newHead = nodeHeadTwo;
nodeHeadTwo = nodeHeadTwo.next;
}
//比较取小的node放入新链表
while (nodeHeadOne!= nil && nodeHeadTwo != nil) {
if (nodeHeadOne.value < nodeHeadTwo.value) {
cur.next = nodeHeadOne;
cur = cur.next;
nodeHeadOne = nodeHeadOne.next;
}else {
cur.next = nodeHeadTwo;
cur = cur.next;
nodeHeadTwo = nodeHeadTwo.next;
}
}
//处理余下的链表
if (nodeHeadOne!= nil) {
cur.next = nodeHeadOne;
}
if (nodeHeadTwo!= nil) {
cur.next = nodeHeadTwo;
}
return newHead;
}
浙公网安备 33010602011771号