自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 MySql忘记密码时修改密码的方法

记录在记得密码和忘记密码的情况下重新设置密码

2022-11-16 16:46:54 374

原创 JavaScript-排他思想

使用排他思想实现按钮的选择

2022-11-14 23:17:07 465

原创 LeetCode-226-反转二叉树

给你一棵二叉树的根节点 ,翻转这棵二叉树,并返回其根节点。

2022-06-03 12:20:34 358

原创 LeetCode-110-平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。

2022-06-03 09:56:44 172

原创 JavaScript-去除数组中重复元素

1.1增加时间复杂度,减少空间复杂度function unique(arr) { var t = 0; var a = 0;//用来保存最后一个重复值的索引号,避免出错 for (var j = 0; j < arr.length - 1; j++) { if (arr.indexOf(ar

2022-05-13 15:37:53 469

原创 JavaScript-筛选数组

把数组中超过2000的数删除var arr = [1500,1200,2000,2100,1800]; var arr1 = []; //增加了空间复杂度 for(var j = 0; j < arr.length; j++) { if(arr[j] <= 2000) { arr1.

2022-05-13 14:39:14 520

原创 LeetCode-04-二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。来源:力扣(LeetCode)1.1递归public int maxDepth(TreeNode root) { if (root == null) { ...

2022-05-08 11:23:18 236

原创 JavaScript-冒泡排序

冒泡排序重复走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,走访数列的各数量重复直到没有再需要交换,也就是说已经完成排序。这个算法名字由来是因为越小的元素会经过交换慢慢“浮”到数列顶端。例如数组arr = [5,4,3,2,1]从小到大排列,则需要四趟,没趟交换次数依次是4、3、2、1,所以使用两个for循环完成冒泡var arr = [5,4,3,2,1]; var t = 0; for(var i = 0; i<= arr.len

2022-05-05 10:05:02 698

原创 LeetCode-101-对称二叉树

给你一个二叉树的根节点 root , 检查它是否轴对称。1.1递归public boolean isSymmetric(TreeNode root) { if( root == null) { return true; } //调用递归方法 return deepCheck(root.left,root.right); } boolean deepCheck(TreeNode left, T

2022-05-05 09:18:00 597

原创 LeetCode-145-二叉树的后序遍历

给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。1.1一棵树,先访问左子树的值,再访问右子树的值,最后访问根节点的值。因为左子树不能直接指向右子树,所以要先经过根结点才能拿到右子树的值,所以代码与前序遍历、中序遍历有所不同。public List<Integer> postorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<Integer>()

2022-05-05 08:56:42 682

原创 LeetCode-144-二叉树的前序遍历

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。1.1递归调用1public List<Integer> preorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<Integer>(); accessTree(root,res); return res; } public void accessTree

2022-04-26 10:51:04 1290

原创 LeetCode-94-二叉树的中序遍历

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。1.1中序遍历:GDHBAEICF1.2使用递归,时间复杂度为O(n),空间复杂度为O(n)class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<Integer>(); accessTree(

2022-04-26 10:40:16 167

原创 LeetCode-394-字符串解码

给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例 1:输入:s = "3[a]2[bc]"输出:"aaabcbc"示例 2:

2022-04-25 08:47:03 225

原创 LeetCode-232-用栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你 只能 使用标准的栈操作 —— 也就是只有push to top,peek/pop from top,siz...

2022-04-25 08:25:50 207

原创 LeetCode-剑指Offer22-链表中倒数第k个结点

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.来源:力扣(LeetCode)1.1 使用hash表,<位置,结点>,但是增加了空间复杂度1.2将倒数

2022-04-24 13:18:21 453

原创 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, 以及 ans.next.next.next.

2022-04-24 12:36:12 106

原创 LeetCode-234-回文链表

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。1.1 快指针每次跳两个结点,慢指针每次跳一个结点,那么当快指针指向链表尾部时,慢指针刚好指向链表中间。这时,快指针重新指向头结点,而慢指针进行了反转后半部分链表,即slow指针最后指向的是链表原来的尾结点作为头结点,这时,快指针和慢指针遍历各自链表的值,如果都相同,那么返回ture。 public boolean isPalindrome(ListNode head) {.

2022-04-21 13:20:33 1162

原创 LeetCode-206-反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。1.1public ListNode reverseList(ListNode head) { ListNode p = head,prep = null; while(p != null){ ListNode next = p.next; p.next = prep; prep = p; p =.

2022-04-21 12:58:33 345

原创 LeetCode-160-相交链表

给你两个单链表的头节点headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。自定义评测:评测系统 的输入如下(你设计的程序 不适用 此输入):intersectVal - 相交的起始节点的值。如果不存在相交节点,这一值为 0listA - 第一个链表listB - 第二个链表ski..

2022-04-21 08:17:32 626 2

原创 CSS-清除浮动(闭合浮动)

一、为什么要清除浮动父级没高度 子盒子浮动了 影响下面布局了二、清除浮动的方法1、额外标签法在浮动元素末尾添加一个空标签,例如: <div style="clear: both;"></div>,或者其他标签,如<br/>等,添加盒子要求必须是块级元素优点:通俗易懂,书写方便缺点:添加许多无意义的标签,结构化较差2、父级元素添加overflow:hidden、auto、scroll优点:代码简洁缺点:无法显示溢出部分3、给父级添加

2022-04-21 07:44:19 140

原创 CSS-浮动(float)

设置浮动的元素重要特性:一、1、脱离标准普通流的控制移动到指定位置,(俗称脱标)2、浮动·的盒子不在保留原先的位置代码段及效果如下:HTML:<div class="left">左青龙</div><div class="right">右白虎</div>CSS: .left { float: right; width: 200px; he.

2022-04-20 15:50:08 169

原创 LeetCode-142-环形链表II

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。题目来源:力扣(LeetCode)1.1在141的基础上,我们把快指针重新指向链表头

2022-04-20 13:04:21 172

原创 LeetCode-141-环形链表

给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。题目来源:力扣(LeetCode)1.1引入哈希表,遍历时将哈希表中没有的结点放入哈希表中,当出现相同结点时,则证明有环

2022-04-19 09:50:28 433

原创 LeetCode-83-删除排序链表中的重复元素

给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。1.1因为链表原本就是有顺序的,所以只有相邻的两节点的值可能相等,所以只需比较相邻结点。如果相邻结点值相等,则当前结点指向下一结点的下一结点,即删除相同值的结点public ListNode deleteDuplicates(ListNode head) { if(head == null){ return head; }

2022-04-19 09:34:05 413

原创 LeetCode-21-合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有结点组成示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]题目来源:力扣(LeetCode)1.1使用循环和双指针,生成的链表时另外一条新链表。时间复杂度为O(m+n),空间复杂度为O(1)/*循环+双指针 */ public ListNode mergeTwoLists(ListNode list1, Lis

2022-04-18 08:17:00 774

原创 LeetCode-448-找到数组中消失的数字

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[5,6]示例 2:输入:nums = [1,1]输出:[2]题目来源:力扣(LeetCode)使用数组本身记录出现过的数字,当数字出现过,则将class Solution { public List<I.

2022-04-17 16:24:13 276

原创 LeetCode-283-移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]题目来源:力扣(LeetCode)采用双指针的解法class Solution { public void moveZeroes(int[] nums) { i

2022-04-17 15:55:33 772

原创 CSS-盒子模型

把HTML页面中的布局元素看作是一个矩形盒子,也就是一个盛装内容的容器。CSS盒子模型本质一个盒子,封装周围的HTML元素,它包括:边框(border)、外边距(margin)、内边距(padding)、实际内容(content)1.1 边框:边框粗细、样式、颜色border:border-width || border-style || border-color简写:border:1px solid red;无顺序属性 作用bor border-width 定义边框粗细

2022-04-17 13:10:47 203

转载 Ubuntu命令大全

一、文件/文件夹管理ls 列出当前目录文件(不包括隐含文件)ls -a 列出当前目录文件(包括隐含文件)ls -l 列出当前目录下文件的详细信息cd .. 回当前目录的上一级目录cd - 回上一次所在的目录cd ~ 或 cd 回当前用户的宿主目录mkdir 目录名 创建一个目录rmdir 空目录名 删除一个空目录rm 文件名 文件名 删除一个文件或多个文件rm -rf 非空目录名 删除一个非空目录下的一切mv 路经/文件 /经/文件移动相对路经下的文件到绝对路经下mv 文件名 新名称

2022-04-17 11:15:39 5478

原创 LeetCode-88-合并两个有序数组

题目:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 =

2022-04-17 08:51:56 199

原创 LeetCode-70-爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶题目来源:力扣(LeetCode)解题思路:总的来说爬楼梯就是递归,当台阶数为1时,只能选择1;当台阶数为2时,可以选择1、1或者2;当台阶数为3时,可以选择111、12、21;即每次选择都是在上一次选择的基础上进行的。所以有在计算n时...

2022-04-16 11:46:37 534

原创 LeetCode-01-两数之和

给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。

2022-04-16 11:20:11 120

原创 C语言:比较数的大小

题目:编写一个程序:读入五个整数,然后确定其中的最大值和最小值并打印结果。(用到了数组进行输入数字的存储)//求五个数中的最大值和最小值#include<stdio.h>main(){ int a[5];//定义数组 int i; int max,min; for(i=1;i<=5;i++)//循环输入五个数字 { printf("请输入第%d位数字:",i); scanf("%d",&a[i-1]); } max=a[0]; min

2021-10-17 22:14:54 3841

原创 C语言:信贷限额计算器 浮点数%.2f

(信贷限额计算器)开发一个C程序来检测百货公司的一位消费者的消费额度是否已经超过其价卡账户的信贷限额的。对于每位消费者,有如下可用的信息:(a)账号(Account number)(b)月初余额(Beginning balance)(c)该消费者本月所有已支付的项目(Total charges)(d)该消费者账户本月所有已申请的贷款(Total credits)(e)允许的信贷限额(Credit limi)该程序需要读入这些数据信息,计算新的余额(=月初余额+支付额一贷款) ,然后判断当前余额否

2021-10-17 22:14:18 1318

原创 C语言:二维数组的使用及水平制表符(tab)

题目:编写一个计算从0~10各个数的平方和立方的程序,并使用水平制表符(tab)打印下表要点一:二维数组的应用int a[11][3];定义了一个11*3,即11行3列的数组,可以表示33个数,在运用过程中不能使用a[11][3]等,因为数组时从a[0][0]开始使用的,当超过边界时就会显示出错。若数组定义为a[i][j],则数组的使用范围为a[0][0]~a[i-1][j-1]要点二:水平制符表(tab)的使用printf("\t%d\t%d\t%d\n",a[i][0],a[

2021-10-12 22:52:35 8419 3

空空如也

空空如也

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

TA关注的人

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