目录
1.定义新链表,寻找条件节点。
2.回文链表的判断
3.交叉链表(交叉判断与寻找)
1.定义新链表,寻找条件节点。
typedef struct ListNode ListNode; struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) { if(list1==NULL) return list2; if(list2==NULL) return list1; ListNode* c1=list1; ListNode* c2=list2; ListNode *c3,*c4; c3=c4=(ListNode*)malloc(sizeof(ListNode)); while(c1&&c2) { if(c1->val>=c2->val) { c3->next=c2; c2=c2->next; c3=c3->next; } else { c3->next=c1; c1=c1->next; c3=c3->next; } } while(c1!=NULL||c2!=NULL) { if(c1) { c3->next=c1; c1=c1->next; c3=c3->next; } else { c3->next=c2; c2=c2->next; c3=c3->next; } } c4=c4->next; return c4; }
2.回文链表的判断
3.交叉链表(交叉判断与寻找)
写这道题时,作为小白的主包也是头一回思路非常清晰,行云流水般完成了编写,意外的一次提交就成功,没有报错。欢迎大家一起讨论题目,如果有错误,也希望大家能指出,谢谢啦!