自定义博客皮肤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)
  • 问答 (1)
  • 收藏
  • 关注

原创 LeetCode.20.有效的括号

LeetCode.20.有效的括号 题目描述: 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = “()” 输出:true 示例 2: 输入:s = “()[]{}” 输出:true 示例 3: 输入:s = “(]” 输出:false 示例 4: 输入:s = “([)]” 输出:false 示例 5: 输入:s = “{[]}” 输出:tru

2021-05-14 17:28:10 176

原创 LeeTcode.21.合并两个有序链表

LeeTcode.21.合并两个有序链表题目描述:迭代递归 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] 输出:[0] 迭代 定义一个虚拟结点,作为新链表的头 每次比较两个链表的头结点,将较小的连接到虚拟结点上 直至有一个

2021-04-22 17:48:04 207

原创 牛客网.JZ14.链表中倒数第K个结点

牛客网.JZ14.链表中倒数第K个结点题目描述:方法一:单指针方法二:快慢指针 题目描述: 输入一个链表,输出该链表中倒数第k个结点。 示例1 输入 1,{1,2,3,4,5} 返回值 {5} 方法一:单指针 倒数第k个,就是整数第 len - k + 1 个,需要移动结点len - k次 遍历两次,一求链表长度,二移动指针求结点 时间复杂度:O(N), 空间复杂度:O(1) /* public class ListNode { int val; ListNode next = null;

2021-04-20 16:45:06 142

原创 LeetCode.876.链表的中间结点

LeetCode.876.链表的中间结点 题目描述: 给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型的对象 ans,这样: ans.val = 3, ans.next.val = 4, ans.next.next.val = 5,

2021-04-20 15:31:02 136

原创 LeetCode.206. 反转链表

LeetCode.206. 反转链表 题目描述: 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 分析:最容易想到的就是,将链表的val值拷贝到一个数组之中,然后再将数组中的数倒着赋值给链表的val。需要多次遍历。 /** * Definition for singly-linked list. * public class ListNode { * int v

2021-04-19 22:16:55 122

原创 LeetCode.203.移除链表元素

LeetCode.203.移除链表元素 题目描述: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [], val = 1 输出:[] 示例 3: 输入:head = [7,7,7,7], val = 7 输出:[] 方法一: .将头结点为val的情况分离,之后从第二个结

2021-04-18 18:03:15 91

原创 LeetCode.9.回文数

LeetCode.9.回文数 题目描述: 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121 输出:true 示例 2: 输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入:x = 10 输出:false 解释:从右向左读, 为 01

2021-04-17 17:02:16 158

原创 LeeTCode.7整数反转

LeeTCode.7整数反转 题目描述: 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0 输出:0 **分析:**将一个数反转,可以通过取余获得末尾数,并

2021-04-17 16:07:49 129

原创 数组中去重或去除某一固定的数 ----双指针

数组中去重或去除某一固定的数 ----双指针 LeeCode .27 移除元素 题目描述: 给你一个数组 nums 和一个值 val,你需要 **原地 **移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 输入:nums = [3,2,2,3], val = 3 输出:2, nums = [2,2] 示例 2: 输入:nums = [0,1,

2021-04-14 15:38:46 307

原创 LeetCode.989.数组形式的整数加法

数组形式的整数加法----LeetCode.989 - 题目描述: -对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。 给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。示例 1: 输入:A = [1,2,0,0], K = 34 输出:[1,2,3,4] 解释:1200 + 34 = 1234 示例 2: 输入:A = [2,7,4], K = 181 输出:[4,5,5] 解释:274 + 18

2021-04-13 23:37:25 135

原创 动态顺序链表

动态顺序链表 本篇完成动态顺序链表的构建、插入以及删除 头文件 #include<stdio.h> #include<stdlib.h> #include<assert.h> typedef int DataType;//方便以后更改数据类型 创建结构体 typedef struct SqeList{ DataType* a; int size; int capacity; }SL;//加上typedef的用处在于可以是之后定义结构体更加简洁,定义结构体可以使

2021-04-11 20:00:47 189

原创 只出现一次的数

只出现一次的数 题目:给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 示例 1: 输入:nums = [1,2,1,3,2,5] 输出:[3,5] 解释:[5, 3] 也是有效的答案。 示例 2: 输入:nums = [-1,0] 输出:[-1,0] 分析:可以利用异或求解.设定变量ret=0,与数组中所有的数异或,得到的最终的ret=x^y,即数组中只出现一次的两个数的异或值. 下面我们该考虑如何将两者分离.

2021-04-10 19:42:48 191

原创 利用“异或“解决--消失的数字

消失的数字 题目:数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数. 示例 1: 输入:[3,0,1] 输出:2 示例2: 输入:[9,6,4,2,3,5,7,0,1] 输出:8 分析:本题有多种方法.最容易想到的就是排序.将数组排序成有序数组之后,判断前后相差是否大于1即可. **本篇文章中所用的方法与之稍有不同,利用的是---异或.** 我猜有些小伙伴并不了解异或,就如几天前的我一样.所以我在这阐述一点关于异或的知识. 计算机中的异或形式与离散数学中学到的有些不同.离散

2021-04-10 16:55:38 1034

空空如也

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

TA关注的人

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