收到swe提前批面试hhh算是ep挂了的后续
努力刷题呀争取今年冲进去!
Num 21 合并两个有序链表 Merge Two Sorted Lists
注意新开的链表用来输出结果的是ListNode *l3=new ListNode(0)这样的写法
还有就是,注意一下可能会返回到NULL,有必要重新写一下
因为是链表,最后就直接补上去就ok了,一个一个加有可能触发NULL
/** * 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 *l3=new ListNode(0); ListNode*temp; temp=l3; while(l1!=NULL && l2!=NULL) { if(l1->val<=l2->val) { l3->next=l1; l1=l1->next; l3=l3->next; } else { l3->next=l2; l2=l2->next; l3=l3->next; } } if(l1) l3->next=l1; if(l2) l3->next=l2; return temp->next; } };
Num 28 实现strStr Implement strStr()
strStr(string a,string b)
题很简单,一个问题:b字符串为空的时候应该是返回0
class Solution { public: int strStr(string haystack, string needle) { if (needle=="") return 0; int hlen=haystack.length(); int nlen=needle.length(); bool pd=false; for(int i=0;i<hlen-nlen+1;i++) { bool p=true; if(haystack[i]==needle[0]) { for(int j=1;j<nlen;j++) { if(haystack[i+j]!=needle[j]) { p=false; break; } } if(p==true) return i; } } return -1; } };