自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020-09-03

题目:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。此题目题主只想到了三个方法,一个是用substring函数,类似于滑动窗口一样比较第二种是KMP算法,由于水平不高,以后再补充第三种是双指针,在之前刷题目的过程中总结出只要涉及到字符串的匹配比较都可以用到双指针直接上代码:class Solution { public i

2020-09-03 16:02:56 162

原创 leetcode206 链表反转

链表反转:有无头节点其实方法都一样,需要两个指针一个指针指向当前节点的前一个节点用于反向另外一个指针用于指向当前节点,然后依次向后遍历,需要注意的是当前指针的next节点会指向前一个节点破坏原有的关系,因此需要一个临时的指针来保存next节点的值/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x)

2020-09-03 15:15:25 120

原创 leetcode35-插入元素位置

题目;给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。class Solution { public int searchInsert(int[] nums, int target) { int len = nums.length; int left = 0,right = len-1,index = len; //index表示元素的下标,如果超出范围直接置最大值 whil

2020-08-31 17:37:57 146

原创 leetcode27-移除元素

题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。其实这题和之前的一道题目很相似排序数组移除重复元素,需要用到双指针(也可以理解为双下标,个人感觉涉及到单一元素的重复都可以用到这个算法,挺重要的)class Solution { public int removeElement(int

2020-08-28 12:17:21 179

原创 leetcode21-合并两个有序链表&&26-删除重复数字

题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, Li

2020-08-25 10:57:34 215

原创 leetcode491-重复的字符串

491.给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成(给定的字符串只含有小写英文字母)改题目难度不大,但需要想明白其中的过程如果有重复字符串证明该字符串整除且从开头就是字符串的前缀class Solution { public boolean repeatedSubstringPattern(String s) { for(int i=1;i<=s.length()/2;i++){ if(s.length()%i == 0){

2020-08-24 15:42:38 139

原创 leetcode20-有效的括号java

题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。class Solution { public boolean isValid(String s) { int n=s.length(); if(n%2==1){ return false; } Map<Chara

2020-08-24 11:25:42 153

原创 leetcode14--最长公共子序列

leetcode14–最长公共子序列

2020-08-23 16:20:35 115

原创 leetcode013 罗马数字转整数

leetcode7–整数反转刚开始做这种题目本来想用switch语句,后来看大佬们的思路,发现只需要比较前一位与后一位的大小即可,开始不理解怕会出现IM这种数字,其实根据规则不会写出这种罗马数字,用unordered_map效率可能会更高class Solution {public: int romanToInt(string s) { map<char,int> roman={ {'I',1}, {'V',5},

2020-05-16 17:05:49 173

原创 leetcode09-回文数

leetcode-9 回文数这道题目和07如出一辙将数字反转比较就可以,负数一定不符合直接排除class Solution {public: bool isPalindrome(int x) { int result=x; long long rev=0; int temp; if(x<0) return false; while(x!=0){ temp=x%10;

2020-05-16 12:07:02 123

原创 leetcode136,137 只出现一次的数字

leetcode136,137 只出现一次的数字这题要求线性时间复杂度,开始不太会,看解析后发现是对异或运算符的应用,不熟练,但是确实很新奇异或运算符^:相同为0,相异为1class Solution {public: int singleNumber(vector<int>& nums) { int result=0; for(int i=0;i<nums.size();i++){ result=result

2020-05-14 11:46:47 122

原创 leetcode07–整数反转

leetcode07–整数反转class Solution {public: int reverse(int x) { int n; //n为余数,result为反转后的结果 int result=0; while(x!=0){ n=x%10; x=x/10; result=result*10+n; if(result>2147483647 ||

2020-05-14 10:19:27 151

原创 leetcode1 两数之和

leetcode 1 两数之和#include<cstdio>#include<vector>using namespace std;int main(){ int target; //目标值 int nums[100]; //nums整数数组 int n; scanf("%d%d",&n,&target); for(int i=0;i<n;i++){ scanf("%d",&nums[i

2020-05-12 14:55:32 244

空空如也

空空如也

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

TA关注的人

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