您当前的位置: 首页 >  leetcode

不脱发的程序猿

暂无认证

  • 2浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

力扣(LeetCode)刷题,简单题(第1期)

不脱发的程序猿 发布时间:2020-01-30 16:52:26 ,浏览量:2

目录

第1题:两数之和

第2题:整数反转

第3题:判断回字文

第4题:罗马数字转整数

第5题:最长公共前缀

第6题:判断字符串有效括号

第7题:将两个有序链表合并

第8题:删除重复元素

第9题:移除元素

第10题:实现 strStr() 函数

开启2020年学习新征程,力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。

第1题:两数之和

试题要求如下:

回答(C语言):

int* twoSum(int* nums, int numsSize, int target, int* returnSize){
    int* res = (int *)malloc(sizeof(int) * 2);

    for(int i = 0; i < numsSize-1; i++) {
        for(int j = i + 1; j < numsSize; j++) {
            if(nums[i] + nums [j] == target) {
                res[0] = i;
                res[1] = j;
                *returnSize = 2;
                return res;
            }
        }       
    }

    *returnSize = 0;
    return res;
}
第2题:整数反转

试题要求如下:

 回答(C语言):

int reverse(int x){
    long num = 0;
    while (x != 0) {
        num = num * 10 + x % 10;
        x = x / 10;
    }
    return (num>2147483647 || num0){
        num2=num2*10+num1%10;
        num1/=10;
    }

    if(num2==x)
        return 1;
    else
        return 0;
}
第4题:罗马数字转整数

试题要求如下:

 回答(C语言): 

int charToInt(char c)
{
    char strArray[7] = {'I','V','X','L','C','D','M'};
    int intArray[7] = {1,5,10,50,100,500,1000};

    for(int i = 0; i < 7; i++)
    {
        if(strArray[i] == c)
        {
            return intArray[i];
        }
    }
    return 0;
}

int romanToInt(char * s)
{
    int len = strlen(s);
    int v = 0;
    int c,n;

    for(int i = 0; i < len - 1 ; i++)
    {
        c = charToInt(s[i]);
        n = charToInt(s[i + 1]);
        v = (c < n) ? v - c : v + c;
    }
    v += charToInt(s[len - 1]);
    return v;
}
第5题:最长公共前缀

试题要求如下:

 回答(C语言): 

char * longestCommonPrefix(char ** strs, int strsSize)
{
    if(strsSize==0)
        return "";
    if(strsSize==1)
        return strs[0];
    int i=0,j=0;
    while(1)
    {
        if(strs[i][j]=='\0')
            break;

        if(strs[i][j]==strs[++i][j]) {
            if(i==strsSize-1)
            {
                j++;
                i=0;
            }
        }
        else
            break; 
    }

    char* res=(char*)malloc(j+1);
    res=memset(res,0,j+1);
    res=strncpy(res,strs[0],j);
    return res;
}
第6题:判断字符串有效括号

试题要求如下:

  回答(C语言): 

bool isValid(char * s){
    int top = 0;
    char *stack = (char*)malloc(strlen(s));

    if (s==NULL || strlen(s)val < l2->val){
        l1->next = mergeTwoLists(l1->next,l2);
        return l1;
    }else{
        l2->next = mergeTwoLists(l1,l2->next);
        return l2;
    }
}
第8题:删除重复元素

试题要求如下:

回答(C语言): 

int removeDuplicates(int* nums, int numsSize){
    int j=0;

    if(nums==NULL || numsSize            
关注
打赏
1664101891
查看更多评论
0.0399s