收到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();
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 ;
int hlen=haystack.length();
int nlen=needle.length();
bool pd=false;
for(int i=;i<hlen-nlen+;i++)
{
bool p=true;
if(haystack[i]==needle[])
{
for(int j=;j<nlen;j++)
{
if(haystack[i+j]!=needle[j])
{
p=false;
break;
}
}
if(p==true)
return i;
}
}
return -;
}
};