自定义博客皮肤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 119

原创 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 154

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

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

2020-08-15 23:04:32 125

原创 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 131

原创 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 108

原创 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 122

原创 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 140

原创 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 247

原创 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 140

原创 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 161

原创 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 92

空空如也

空空如也

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

TA关注的人

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