LeetCode
LeetCode学习代码整理,持续更新ing
风雪夜不眠人
在校学生一枚,所写博客为学习编程所写代码及整理,主要致力于C++、openGL使用,LeetCode代码为练习时所写,不定期更新
展开
-
LeetCode
LeetCode 1. Two SumLeetCode 2.Add Two NumbersLeetCode 3. Longest Substring Without Repeating CharactersLeetCode 4. Median of Two Sorted ArraysLeetCode 5. Longest Palindromic SubstringLeetCode 6. ...原创 2019-09-18 11:19:43 · 3412 阅读 · 2 评论 -
LeetCode 28. 实现 strStr()
class Solution { public int strStr(String haystack, String needle) { if(needle.length()==0) return 0; int i=0; for(;i<haystack.length()-needle.length()+1;i++) { if(haystack.charAt(i)==needle.ch原创 2020-08-18 22:57:37 · 213 阅读 · 0 评论 -
LeetCode 27. 移除元素
class Solution { public int removeElement(int[] nums, int val) { if(nums.length==0) return 0; Arrays.sort(nums); int p=0; while(p<nums.length&&nums[p]!=val) { p++; } int原创 2020-08-18 22:37:35 · 171 阅读 · 0 评论 -
LeetCode 26.删除排序数组中的重复项
//javaclass Solution { public int removeDuplicates(int[] nums) { int p=0; int q=1; while(q<nums.length) { if(nums[p]!=nums[q]) { nums[p+1]=nums[q]; p++; } q++原创 2020-08-18 21:03:51 · 195 阅读 · 0 评论 -
LeetCode 23.合并k个升序链表
class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } }class Solution { public ListNode mergeKLists(ListNod.原创 2020-08-18 17:04:24 · 697 阅读 · 0 评论 -
LeetCode21.合并两个有序链表
public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } }//javaclass Solution { public ListNode merge..原创 2020-08-18 09:52:20 · 192 阅读 · 0 评论 -
LeetCode 20.有效的括号
//javaclass Solution { public boolean isValid(String s) { ArrayList<Character>res=new ArrayList<>(); for(int i=0;i<s.length();i++) { if(res.size()==0) res.add(s.charAt(i));原创 2020-08-17 21:50:08 · 152 阅读 · 0 评论 -
LeetCode 53. 最大子序和
//遍历所有的子序列;寻找最大值,暴力破解class Solution { public int maxSubArray(int[] nums) { int max = Integer.MIN_VALUE; for(int i=0;i<nums.length;i++) { int sum=0; for(int j=i;j<nums.length;j++) {原创 2020-08-13 09:24:49 · 202 阅读 · 0 评论 -
LeetCode 14.最长公共前缀
//Javaclass Solution { public String longestCommonPrefix(String[] strs) { String result=""; if(strs.length==1) return strs[0]; if(strs.length==0) return ""; int MinLength=strs[0].length();原创 2020-07-24 10:00:26 · 166 阅读 · 0 评论 -
LeetCode.13 罗马数字转整数
//Javaclass Solution { public int romanToInt(String s) { int sum = 0; int preNum = getValue(s.charAt(0)); for (int i = 1; i < s.length(); i++) { int num = getValue(s.charAt(i)); if (preNum < num) {原创 2020-07-24 09:24:36 · 194 阅读 · 0 评论 -
LeetCode 9. 回文数
Javaclass Solution { public boolean isPalindrome(int x) { String str=String.valueOf(x); for(int i=0;i<str.length()/2;i++) { if(str.charAt(i)!=str.charAt((st...原创 2019-12-29 20:52:30 · 201 阅读 · 0 评论 -
LeetCode7. 整数反转
Javaclass Solution { public int reverse(int x) { long num=0; int powernum=0; int aa=0; if(x<0) { aa=-1; x=-x; } ...原创 2019-12-29 20:06:49 · 226 阅读 · 0 评论 -
LeetCode 771.宝石与石头
Javaclass Solution { public int numJewelsInStones(String J, String S) { int num=0; for(int i=0;i<J.length();i++) { for(int j=0;j<S.length();j++) ...原创 2019-12-29 16:56:23 · 227 阅读 · 0 评论 -
LeetCode LCP1.猜数字
Javaclass Solution { public int game(int[] guess, int[] answer) { int num=0; for(int i=0;i<guess.length;i++) { if(guess[i]==answer[i]) { ...原创 2019-12-29 16:39:49 · 396 阅读 · 0 评论 -
LeetCode 2.Add Two Numbers
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode *head,*s,*r; int t=0; head=(ListNode*)malloc(sizeof(ListNode)); r=head; while(l1!=NULL||l...原创 2019-07-06 19:53:35 · 368 阅读 · 0 评论 -
LeetCode 3. Longest Substring Without Repeating Characters
int lengthOfLongestSubstring(string s) { int max = 0; for (int i = 0; i < s.size(); i++) { string str = ""; str += s[i]; int j = i+1; while ((j<s.size())&&(s[i] != s[j]))...原创 2019-07-06 20:01:12 · 219 阅读 · 0 评论 -
LeetCode 4. Median of Two Sorted Arrays
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2){ double median; int size = nums1.size() + nums2.size(); vector<int>nums3(size); for (int i = 0; ...原创 2019-07-06 20:05:02 · 227 阅读 · 0 评论 -
LeetCode 5. Longest Palindromic Substring
string longestPalindrome(string s){ string result; for (int i = 0; i < s.size(); i++) { //单数 int k = 0; string str = ""; while (((i + k) < s.size()) && ((i - k) >= 0) &...原创 2019-07-06 17:13:44 · 240 阅读 · 0 评论 -
LeetCode 6. ZigZag Conversion
string convert(string s, int numRows) { if (numRows == 1) return s; string result = ""; vector<vector<char>>str(numRows); for (int i = 0; i < str.size(); i++) { str[i]...原创 2019-07-06 17:17:59 · 251 阅读 · 0 评论 -
LeetCode 8. String to Integer(aoti)
int str2num(const string str){ stringstream ss(str); int num; ss >> num; return num;}int myAtoi(string str){ int num_1 = 0; int num_a = 0; int i = 0; while (num_1<str.size() &...原创 2019-07-06 17:20:56 · 250 阅读 · 0 评论 -
LeetCode 11.Container With Most Water
int maxArea(vector<int>& height) { int Max = 0; int temp = 0; for (int i = 0; i < height.size(); i++) { for (int j = 0; j < i; j++) { if (height[j] < height[i]) temp ...原创 2019-07-06 17:22:47 · 217 阅读 · 0 评论 -
LeetCode 12. Integer to Roman
string intToRoman(int num){ string result = ""; while (num > 0) { if (num >= 1000) { result = result + 'M'; num = num - 1000; } if (num < 1000 && num>=900) { re...原创 2019-07-06 17:24:11 · 211 阅读 · 0 评论 -
LeetCode 16. 3Sum Closest
int threeSumClosest(vector<int>& nums, int target) { int result = target; int sum = 0; int diff = abs(nums[0] + nums[1] + nums[2] - target); for (int i = 0; i < nums.size(); i++) { ...原创 2019-07-06 17:25:28 · 197 阅读 · 0 评论 -
LeetCode 17. Letter Combinations of a Phone Number
int Len;string digit_map[8]{ "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" };void search(const string& digits, int pos, string path, vector<string>& v){ if (pos == Len) re...原创 2019-07-06 17:27:25 · 220 阅读 · 0 评论 -
LeetCode 18. 4Sum
// C++vector<vector<int>> fourSum(vector<int>& nums, int target) { sort(nums.begin(), nums.end()); vector<vector<int>>result; for (int i = 0; i < nums.size();...原创 2019-06-30 21:25:32 · 179 阅读 · 0 评论 -
LeetCode 19. Remove Nth Node From End of List
bool ListDelete(ListNode * &L, int i,int &e){ if (i == 0) { L = L->next; return L; } int j = 0; ListNode *p = L, *q; while (j < i - 1 && p != NULL) { j++; p = p-&...原创 2019-07-06 16:44:02 · 196 阅读 · 0 评论 -
LeetCode 22.Generate Parentheses
void generate(int n, int l, int r, string paren, vector<string>& parens) { if (l == n && r == n) { parens.push_back(paren); } else { if (l < n) { generate(n, l +...原创 2019-07-07 11:05:16 · 176 阅读 · 0 评论 -
LeetCode 29. Divide Two Integers
int divide(int dividend, int divisor){ int result; if (dividend == (pow(-2, 31))&& divisor==-1) return pow(2, 31) - 1; result = dividend / divisor; return result;}原创 2019-07-14 09:30:47 · 200 阅读 · 0 评论 -
LeetCode 1. Two Sum
vector<int> twoSum(vector<int>& nums, int target) { for (int i = 0; i < nums.size() - 1; i++) for (int j = i+1; j < nums.size() ; j++) if (nums[i] + nums...原创 2019-09-18 11:08:54 · 864 阅读 · 0 评论 -
LeetCode 10 Regular Expression Matching
bool isMatch(string s, string p){ if (p.empty()) return s.empty(); if (s.empty()) return p.empty() || (p[1] == '*' ? isMatch(s, p.substr(2)) : false); if (p[0] != '.' && s[0] != p[0]) retu...原创 2019-06-28 16:24:11 · 205 阅读 · 0 评论 -
LeetCode 15.3Sum
//C++class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { sort(nums.begin(), nums.end()); vector<vector<int>> res; f...原创 2019-06-28 22:06:31 · 215 阅读 · 0 评论