- 博客(67)
- 收藏
- 关注
原创 LeetCode 格雷编码
LeetCode89.格雷编码题目输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2在这里插入代码片代码00
2020-04-20 08:04:35
168
原创 LeetCode 子集
LeetCode78.子集题目代码public class Solution { public IList<IList<int>> Subsets(int[] nums) { int len = nums.Length; double num = Math.Pow(2, ...
2020-04-17 09:33:06
196
原创 LeetCode 无重复字符的最长子串
LeetCode3.无重复字符的最长子串题目代码一,二,哈希表public class Solution { public int LengthOfLongestSubstring(string s) { HashSet<char> result = new HashSet<char>(); //建立哈希表 ...
2020-04-09 12:24:05
180
原创 LeetCode 只出现一次的数字
LeetCode136.只出现一次的数字题目代码一,排序先对这个数组排序,这样重复出现的数字就会连在一起,然后用一个针指遍历数组中相连的两个数字,就可以找出这个“孤单”的数字。public class Solution { public int SingleNumber(int[] nums) { //排序 A...
2020-04-07 17:02:20
139
原创 LeetCode 反转字符串
LeetCode344.反转字符串题目代码最直接的方法就是对应位置相互交换,若s的长度为奇数时,以最中间的元素为对称轴,镜面元素相互交换,若s的长度为偶数时,以最中间两个元素的中间为对称轴,镜面元素相互交换即可。代码简单有效。public class Solution { public void ReverseString(char[] s) { ...
2020-04-01 08:25:53
188
原创 Task30.通配符匹配
LeetCode44.通配符匹配题目代码public class Solution { public bool IsMatch(string s, string p) { if (string.IsNullOrEmpty(p)) return string.IsNullOrEmp...
2020-03-30 20:25:42
131
原创 LeetCode 整数反转
LeetCode07.整数反转题目代码一,利用数学关系考虑到temp = temp * 10 + x % 10溢出的问题,我想到了先把temp定义为long类型,当反转后再判断temp是不溢出了,如果溢出了就返回0;没有溢出的话就把temp强制转换为int类型。int是32 位的有符号整数(struct System.Int32 ),long是64位的有符号整数(struct Syst...
2020-03-27 09:12:23
164
原创 Task29.加油站
LeetCode134.加油站题目代码public class Solution { public int CanCompleteCircuit(int[] gas, int[] cost) { int count = gas.Length; int[] cost1...
2020-03-26 19:27:52
107
原创 Task28.跳跃游戏
LeetCode55.跳跃游戏题目代码public class Solution { public bool CanJump(int[] nums) { int lastPos = nums.Length - 1; for (int i = nums.Length - 1; i >= 0; i...
2020-03-26 16:11:04
104
原创 Task27.分发饼干
LeetCode455.分发饼干题目代码public class Solution { public int FindContentChildren(int[] g, int[] s) { Array.Sort(g); Array.Sort(s); int i = ...
2020-03-26 15:52:53
135
原创 Task26.判断子序列
LeetCode392.判断子序列题目代码使用双指针,慢指针控制短的字符串s,快指针控制字符串t,我们可以通过循环来依次比较,用t来依次与s对比,直达t到最后一个字符,返回时如果i移动的次数与s的长度是一致的那么就返回true,否则就返回false。public class Solution { public bool IsSubsequence(string s, s...
2020-03-26 14:50:24
104
原创 Task25.买卖股票的最佳时机II
LeetCode122.买卖股票的最佳时机II题目代码public class Solution { public int MaxProfit(int[] prices) { int sum = 0, i = 0; while (i < prices.Length - 1) ...
2020-03-25 21:02:29
115
原创 Task24.恢复二叉搜索树
LeetCode99.恢复二叉搜索树题目代码/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * pub...
2020-03-24 16:40:47
125
原创 Task23.不同的二叉搜索树II
LeetCode95.不同的二叉搜索树II题目代码/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * p...
2020-03-23 22:49:21
110
原创 Task22.二叉树的中序遍历
LeetCode94.二叉树的中序遍历题目代码/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * pub...
2020-03-22 21:03:51
141
原创 LeetCode 最小栈
LeetCode155.最小栈题目代码public class MinStack { private Stack<int> stack; private Stack<int> minstack; /** initialize your data structure here. */ public ...
2020-03-20 22:32:26
100
原创 Task21.二叉树的最大深度
LeetCode104.二叉树的最大深度题目代码一,递归/** * Definition for a binary tree node. * * public class TreeNode { * * public int val; * * public TreeNode left; * * public TreeNode right...
2020-03-20 22:06:47
130
原创 LeetCode 逆波兰表达式求值
LeetCode150.逆波兰表达式求值.题目代码public class Solution { public int EvalRPN(string[] tokens) { if (tokens.Length == 1) return Convert.ToInt32(tokens[...
2020-03-20 13:33:38
155
原创 Task20.对称二叉树
LeetCode101.对称二叉树题目代码一,递归/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * ...
2020-03-20 13:16:32
93
原创 Task19.相同的树
LeetCode100.相同的树题目代码一,递归时间复杂度:O(n)空间复杂度:O(n)/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public Tre...
2020-03-19 17:20:01
99
原创 Task18.正则表达式匹配
LeetCode10.正则表达式匹配题目代码public class Solution { public bool IsMatch(string s, string p) { bool[,] sp = new bool[s.Length + 1, p.Length + 1]; sp[s.Leng...
2020-03-18 22:10:14
146
原创 LeetCode 有效的括号
LeetCode.20有效的括号题目代码首先字符串的长度为奇数是返回false。假设一个字符串是合法的,那么必定存在一对相应的括号是连在一起的,因此可以寻找一对连在一起的有效括号,然后将其删除,继续寻找依次类推。如果最后字符串中没有元素,那么就说明这些字符串的括号都是相应匹配的有效括号,就返回true,否则返回false。public class Solution { ...
2020-03-17 22:11:11
101
原创 Task.15有效的括号
LeetCode.20有效的括号题目代码public class Solution { public bool IsValid(string s) { if (s.Length == 0) return true; else if (s.Length...
2020-03-15 21:19:29
90
原创 Task14.最长公共前缀
LeetCode14.最长公共前缀题目我们可以将字符串数组的前两个字符串比较后得到新的具有公共前缀的新字符串,然后迭代不断更新公共前缀直到比较到最后一个字符串就得到了最大公共前缀。代码public class Solution { public string LongestCommonPrefix(string[] strs) { ...
2020-03-14 14:40:51
114
原创 Task13.罗马数字转整数
题目考虑到有些数字是由2个字符组成的,因此可以用string类提供的Replace方法。将2个字符表示的数值替换成1个字符。代码public class Solution { public int RomanToInt(string s) { s = s.Replace("IV", "A");//4 s = s.Replac...
2020-03-13 22:04:15
86
原创 Task12.合并K个排序链表
Task12.合并K个排序链表题目之前在21题我们合并的是两个有序链表,我使用了递归的方法,这道题合并K个有序链表,我想可以调用前面那个题的函数,主要思路就是一次合并,前两个合并后与下一个合并,合并后的再与下一个合并,一次类推。代码在这里插入代码片...
2020-03-12 18:11:48
106
原创 LeetCode 环形链表
LeetCode 环形链表题目代码/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { * val...
2020-03-12 09:56:58
100
原创 LeetCode 删除排序链表中的重复元素
LeetCode 删除排序链表中的重复元素题目代码/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; }...
2020-03-11 20:11:49
122
原创 Task11.删除链表的倒数第N个节点
LeetCode 删除链表的倒数第N个节点题目代码/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x;...
2020-03-11 19:48:15
114
原创 LeetCode 合并两个有序链表
LeetCode 合并两个有序链表题目代码迭代法:/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x;...
2020-03-10 14:54:57
109
原创 Task10.两数相加
LeetCode 两数之和题目代码/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } */...
2020-03-10 14:09:09
131
原创 Task09.环形链表
LeetCode 环形链表题目代码/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ bool hasCycle(struct ListNode *head) { struc...
2020-03-09 21:34:08
93
原创 Task08.删除排序链表中的重复元素
LeetCode 删除排序链表中的重复元素题目代码/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* deleteDuplicates(struct ListNode* ...
2020-03-08 22:05:10
112
原创 Task07.合并两个有序链表
LeetCode 合并两个有序链表题目示例代码/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* mergeTwoLists(struct ListNode* l1, s...
2020-03-07 16:52:55
100
原创 Task06.买卖股票的最佳时机III
LeetCode 买卖股票的最佳时机III题目示例思路本题试了很多次思路都没能解决这个问题,然后学习了LeetCode的一些解法,最后学习了老马的解题思路,得以完成这个题。代码来源: https://mp.weixin.qq.com/s/0QZM_HXpPEkymeZlopwoSw代码int maxProfit(int* prices, int pricesSize){ ...
2020-03-06 21:45:09
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人