- 博客(8)
- 收藏
- 关注
原创 LeetCode 27 移除元素 c语言
题目:给定一个数组nums和一个值val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均...
2019-04-18 20:31:00
392
原创 LeetCode 3 无重复字符的最长字符串 c语言
int lengthOfLongestSubstring(char* s) { int maxlen = 0, currlen = 0; int table[128], i, j, start = 0; memset(table, 0, sizeof(table)); //将table后面sizeof(table)个字节清零 for (i = 0; s[i] !...
2019-04-16 15:27:31
210
原创 LeetCode 9 回文数 c语言
题目:判断一个整数是否是回文数。回文数:正序(从左向右)和倒序(从右向左)读都是一样的整数bool isPalindrome(int x) { long revertedNumber = 0; //long类型:防止反转后溢出 long t = x; // 特殊情况: // 1.x < 0 // 2.末尾是0,除了0本身,其余都不满足 ...
2019-04-02 21:21:20
620
原创 LeetCode 7 整数反转 c语言
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1 输出: 321 输入: 123示例 2输入: -123输出: -321示例 3输入: 120输出: 21/*limits.h#define INT_MAX 2147483647#define INT_MIN (-INT_MAX - 1)*/int reverse(int x) ...
2019-04-02 20:03:05
281
原创 LeetCode 26 删除排序数组中的重复项目 c语言
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。方法:双指针法算法:数组完成排序后,我们可以放置两个指针 i 和 j,其中 i 是慢指针,而 j 是快指针。只要 nums[ i ] = nums[ j ],我们就增加 j 以跳过重复项。当我们遇...
2019-04-02 16:09:28
150
原创 LeetCode 20 有效的括号 c语言
要处理的表达式可以包含三种不同类型的括号:(),{} , []eg.(((((()))))) – VALID()()()() – VALID(((((((() – INVALID((()(()))) – VALID算法:1.初始化栈 S。2.一次处理表达式的每个括号。3.如果遇到开括号,我们只需将其推到栈上即可。这意味着我们将稍后处理它,让我们简单地转到前面的...
2019-04-01 20:34:48
547
原创 LeetCode 1 两数相加 c语言
/** * Definition for singly-linked list. * struct ListNode { * int val; //存储节点值 * struct ListNode *next; //next是指向下一节点的指针,维持节点连接 * //p->val表示当前位置的值;而p->next表示链表下一...
2019-03-29 20:22:01
249
原创 LeetCode 21 合并两个有序链表 c语言
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) { ...
2019-03-29 20:18:00
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人