leetcode每日刷题计划-简单篇day3

时间:2022-01-05 10:36:58

收到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 -;
}
};