自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 leetcode 205. 同构字符串

typedef enum{false=0,true}bool;bool isIsomorphic(char * a, char * b){ char num1[127]={0},num2[127]={0};//ASCLL码最多有去126个 int i =1; while(*a){ if(num1[*a]!=num2[*b])//判断对应位置的元素与格式不对应时,输出false return false; num1[*a++]=n

2021-03-30 11:24:06 73

原创 leetcode 28.实现strStr

实现strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。思路:1.对应位置上的字符相等2.相同字符串的个数等于needle长度#include <stdio.h>#include <windows.h>/** * Note: The returned array must be malloced, assume ca

2020-08-19 17:46:17 110

原创 leetcode 8.字符串转换整数 (atoi)

字符串转换整数 (atoi)请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第

2020-08-15 23:04:32 84

原创 leetcode 125.验证回文串

验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。思路:1.判断字符串中的字母和数字2.大小写归一3.双指针首尾同步比较#include <stdio.h>#include <windows.h>/** * Note: The returned array must be malloced, assume caller calls free(). */typedef enu

2020-08-15 22:00:12 93

原创 leetcode 242.有效的字母异位词

有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。字母异位:即字母长度相同,字母顺序不同。思路:与387.字符串中的第一个唯一字符的方法相似,先计算所给字符在26字母表中出现的次数,再判断两个字符串中每个字母出现的次数是否相等。#include <stdio.h>#include <windows.h>/** * Note: The returned array must be malloced, assume caller

2020-08-15 15:13:44 84

原创 leetcode 387.字符串中的第一个唯一字符

字符串中的第一个唯一字符给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。思路:遍历两次,根据字母顺序表第一次循环记录每个字符出现的次数,第二次循环判断并找出第一个不重复的字符。#include <stdio.h>#include <windows.h>/** * Note: The returned array must be malloced, assume caller calls free(). */int firstUni

2020-08-15 14:47:45 84

原创 LeetCode 283.移动零

移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路:循环数组,跳过数组元素为零的,并将非零的元素放在原数组中,末尾元素补零。#include <stdio.h>#include <windows.h>void moveZeroes(int* nums, int numsSize){ int index = 0; int i = 0;

2020-08-07 16:21:51 101

原创 LeetCode 1.两数之和

两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。逐个遍历:int *twoSum(int* nums, int numsSize, int target,int* returnSize){ int *ret = (int *)malloc(sizeof(int)*2); for(int i=0; i < numsSize -

2020-08-07 15:51:06 192

原创 LeetCode 136.只出现一次的数字

只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?异或运算:0与任何数异或为任何数,任何数自己异或为0。(两值相同,异或为0;两值互异,异或为1.)时间复杂度:O(n),遍历一遍n个元素的数组;空间复杂度:O(1).一行代码int singleNumber(int* nums, int numsSize){ return numsSiz

2020-08-06 11:44:33 98

原创 LeetCode 4.存在重复元素

4.存在重复元素给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。1.暴力法:时间复杂度o(n^k),超时bool containsDuplicate(int* nums, int numsSize){ int i,j; if (numsSize == 0) { return 0; } for(i = 0; i<numsSize-1; i++)

2020-08-05 17:06:17 127

原创 LeetCode 3.旋转数组

3.旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。(1)暴力法int rotate(int* nums, int numsSize, int k){ int i; if (numsSize == 0 || k <= 0) { return 0; } int nums1[100]={0}; for(i=0; i<100; i++) { nums1[i] = nums[i

2020-08-04 17:43:39 64

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除