[关闭]
@geek-sjl 2018-10-14T15:08:10.000000Z 字数 795 阅读 445

18图灵班编程作业3

  1. /**
  2. * Definition for singly-linked list.
  3. * struct ListNode {
  4. * int val;
  5. * ListNode *next;
  6. * ListNode(int x) : val(x), next(NULL) {}
  7. * };
  8. */
  9. class Solution {
  10. public:
  11. ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
  12. ListNode* res_p=NULL;
  13. ListNode* res_start=NULL;
  14. if(l1==NULL) return l2;
  15. if(l2==NULL) return l1;
  16. if((l1->val)<(l2->val)) {res_p=l1;res_start=res_p;l1=l1->next;}
  17. else {res_p=l2;res_start=res_p;l2=l2->next;}
  18. while(l1!=NULL&&l2!=NULL){
  19. if(l1->val<l2->val){
  20. res_p->next=l1;
  21. res_p=res_p->next;
  22. l1=l1->next;
  23. /*
  24. l1=l1->next;
  25. res_p=res_p->next;
  26. */
  27. }
  28. else{
  29. res_p->next=l2;
  30. res_p=res_p->next;
  31. l2=l2->next;
  32. /*
  33. l2=l2->next;
  34. res_p=res_p->next;
  35. */
  36. }
  37. }
  38. if(l1!=NULL) res_p->next=l1;
  39. if(l2!=NULL) res_p->next=l2;
  40. return res_start;
  41. }
  42. };

交了两次,第一次因为没有特判list为NULL的情况。
emmm...逻辑不够严密。
幸亏leetcode会给case的数据,不然我怕是想不出错在哪了。
运行时间是10ms左右

两种写法的区别..抱歉没有想出。我两种写法交上去都是ac,这是和具体上下文有关吗?

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注