自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaWeb重定向和跳转

resp.setContentType("text/html; charset=UTF-8"); PrintWriter pw=resp.getWriter();//模拟方式:请求http://localhost:8080/项目部署名/test?i= String i=req.getParameter("i"); if("1".equals(i)){ //重定向 resp.sendRedirec...

2020-06-14 20:26:58 635

原创 力扣1170 比较字符串最小字母出现频次

比较字符串最小字母出现频次题目要求我们来定义一个函数 f(s),其中传入参数 s 是一个非空字符串;该函数的功能是统计 s 中(按字典序比较)最小字母的出现频次。例如,若 s = “dcce”,那么 f(s) = 2,因为最小的字母是 “c”,它出现了 2 次。现在,给你两个字符串数组待查表 queries 和词汇表 words,请你返回一个整数数组 answer 作为答案,其中每个 answer[i] 是满足 f(queries[i]) < f(W) 的词的数目,W 是词汇表 words

2020-05-11 18:58:20 235

原创 [力扣]958. 二叉树的完全性检验

完全二叉树的检验(本题来自力扣题库)完全二叉树若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(注:第 h 层可能包含 1~ 2h 个节点。)示例示例1:输入:[1,2,3,4,5,6]输出:true示例2:输入:[1,2,3,4,5,null,7]输出:false思路首先我们先要了解到完全二叉树的特点1.所有的叶子节点都在倒数第1,2层2.最后一层的叶子节点在左边连续,倒数第二

2020-05-09 21:14:11 239

原创 [牛客]Java栈的压入,弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)示例{1,2,3,4,5}按照顺序入栈1.{4,5,3,2,1}是对应的一个弹出序列,返回t...

2020-05-07 17:22:33 317

原创 [力扣] 260.只出现一次的数字 III

只出现一次的数字 III给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素该题目来自力扣题库示例输入: [1,2,1,3,2,5]输出: [3,5]解题思路1 先把数组中所有的数字都异或起来,得到一个数字num2 再找这个数字二进制位的一个不为0的位,用这个来进行分组3 之后分成a,b两组,两组中再分别异或可以分别得到两...

2020-04-15 18:29:42 213

原创 Java二叉树的 前,中,后 序遍历(迭代方法)

二叉树的三种递归方式(前序遍历,中序遍历,后序遍历)使用非递归方法完成(迭代)思路说明1. 先序遍历:根左右类似与层序遍历,要使用到栈;先把根节点入栈,循环取顶点元素,之后访问;把当前节点的右子树入栈,再把当前节点的左子树入栈(栈是后进先出的),当栈为空时,遍历完成。2.中序遍历:左根右使用栈,先从树的根节点一直循环往左找,直到找到null,路径上遇见的节点分别入栈;取栈顶元素并访问;...

2020-04-09 22:11:20 417

原创 Java二叉树相应基本操作

二叉树相应基本操作相应内容1.创建二叉树的节点2.二叉树的建立(基础手动建立)3.二叉树遍历(1)前序遍历(2)中序遍历(3)后序遍历4.二叉树的节点个数5.二叉树叶子节点个数(度位0的节点个数)6.二叉树第k层节点的个数7.二叉树中查找指定元素思路1.遍历二叉树前序遍历:根左右意思是:先打印根节点,左子树不为空再递归遍历左子树,右子树不为空之后再遍历右子树。 ...

2020-03-29 22:15:19 210

原创 [力扣]144. 二叉树的前序遍历java

二叉树的前序遍历给定一个二叉树,返回它的前序遍历示例:思路前序遍历1.先访问根节点,把元素加入到List中;2.递归遍历左子树,把左子树的遍历结果加入到List中;3.递归遍历右子树,把右子树的遍历结果加入到List中。4.返回代码/** * Definition for a binary tree node. * public class TreeNode { * ...

2020-03-29 19:06:10 307

原创 Java二分查找

说明二分查找也称折半查找,它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。要求1.必须采用顺序存储结构。2.必须按关键字大小有序排列。过程首先数组是有序的,假设是一个升序数组,中间值是数组最左边下标与最右边下标之和除2。之后再用中间值与待查找值进行比较;如果 中间值等于待查找值,那么返回;如果 中间值小于待查找值,那么要在该...

2020-03-17 20:01:55 316

原创 [力扣]142. 环形链表 II

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表该题目来自力扣题库示例示例1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node i...

2020-03-01 18:23:06 164

原创 [力扣]141. 环形链表

给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。该题目来自力扣题库示例示例1:输入:head = [3,2,0,-4], pos = 1输出:true链表中有一个环,其尾部连接到第二个节点示例2:输入:head = [1,2], pos = 0输出:...

2020-03-01 18:07:06 187

原创 [力扣]160.相交链表

写一个程序,找到两个单链表相交的起始节点该题目来自力扣题库示例在节点 c1 开始相交示例1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8相交节点的值为 8 (注意,如果两个列表相交...

2020-03-01 17:56:14 158

原创 [力扣]合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。该题目来自力扣题库示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路设立一个新链表,选择带有头节点是傀儡节点的新链表代码书写起来较为简便。设一个新链表的尾节点,这个尾节点就用于在新链表尾部插入节点所用。循...

2020-02-27 18:53:10 232

原创 234. 回文链表

判断一个链表是否为回文链表。该题目来自力扣题库示例示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true思路使用栈结构,把当前链表全部压入堆栈。之后再按顺序比较链表节点以及出栈节点是否相同代码/** * Definition for singly-linked list. * public class ...

2020-02-22 17:31:13 243

原创 876. 链表的中间结点

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

2020-02-21 19:05:39 135

原创 206. 反转链表

反转一个单链表。(该题目来自力扣题库)示例输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路首先要判断链表是不是空链表和是否是只有一个节点的链表,因为一个节点的链表不用反转,即可直接返回。链表与之前的数组不同,链表不能像数组一样可以反着遍历运用,所以只能正着来运用。设置prev和...

2020-02-21 18:34:49 140

原创 [力扣] 203.移除链表元素

移除链表元素删除链表中等于给定值 val 的所有节点该题目来自力扣题库示例输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5思路链表删除元素,先删后面与被删除数字相同的节点(非头节点),之后判断是否要头删。删非头节点,我们需要找到删除节点的前一个位置(prev),待删除节点是...

2020-02-20 18:03:34 496

原创 使用Java的冒泡排序

冒泡排序什么是冒泡排序?重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。实现思路...

2020-02-17 19:14:01 136

原创 Java中基本类型的输入

Java中基本输入类型输入: Scanner scanner=new Scanner(System.in);byte型scanner.NextByte()byte n1=scanner.nextByte();short型scanner.NextShort();short n2=scanner.nextShort();int型scanner.NextInt();int n3=s...

2020-02-17 18:56:15 871

原创 [力扣] 78. 子集

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。该题目来自力扣题库示例输入: nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]思路使用位图法如果该数组的长度是n,那么该数组的所有子集数目是2^n.使用两层循环,外层循环的次数是子集的个数;内层循环的次数是...

2020-02-12 23:58:04 243 2

原创 递归练习

让我们熟悉并掌握递归的用法递归的定义递归,就是在运行的过程中调用自己。构成递归需具备的条件:1.子问题须与原始问题为同样的事,且更为简单;2.不能无限制地调用本身,须有个出口,化简为非递归状况处理。递归的优缺点优点:结构清晰,可读性强,写法简单。缺点:1.递归是函数调用自身,函数调用有时间和空间的消耗(消耗大)2.递归计算重复3.调用栈可能会溢出递归相应习题1.递归求 ...

2020-02-12 22:40:51 217 2

原创 [力扣]150. 逆波兰表达式求值

根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。改题目来自力扣题库说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例示例 1:输入: [“2”, “1”, “+”, “3”, “*”]输出: 9解释: ((2 + 1) * 3) =...

2020-02-11 20:00:21 312 2

原创 [力扣]443. 压缩字符串

给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。该题目来自力扣题库示例示例 1:输入:[“a”,“a”,“b”,“b”,“c”,“c”,“c”]输出:返回6,输入数组的前6个字符应该是:[“a”,“2”,“b”,“2”,“c”,“3”]"aa"被"a...

2020-02-10 18:36:41 405 2

原创 第三大的数

给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。该题来自力扣题库示例示例 1:输入: [3, 2, 1]输出: 1第三大的数是 1示例 2:输入: [1, 2]输出: 2第三大的数不存在, 所以返回最大的数 2示例 3:输入: [2, 2, 3, 1]输出: 1注意,要求返回第三大的数,是指第三大且唯一出现的...

2020-02-07 22:55:44 417 2

原创 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。可以假设除了整数 0 之外,这个整数不会以零开头。该题目来自力扣题库示例示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 432...

2020-02-07 15:53:51 4885 8

原创 寻找数组的中心索引 (java)

给定一个整数类型的数组 nums,编写一个能够返回数组“中心索引”的方法。数组中心索引:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么返回 -1。如果数组有多个中心索引,那么返回最靠近左边的那一个。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-pivot-index示例示例 1:...

2020-02-06 18:09:43 642 2

原创 给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。

给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。可以返回满足此条件的任何数组作为答案。该题目来自力扣题库示例输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。思路使用双指针 i ,j 。i从0开始往后走,j从A.length-1往前走。设置一个循环让i要小于j...

2020-02-06 16:57:29 2710 3

原创 Java 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。

给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。该题目来自力扣题库示例示例 1:输入:“ab-cd”输出:“dc-ba”示例 2:输入:“a-bC-dEf-ghIj”输出:“j-Ih-gfE-dCba”示例 3:输入:“Test1ng-Leet=code-Q!”输出:“Qedo1ct-eeLg=ntse-T!”思路...

2020-02-05 15:35:00 1443 3

原创 判断一个字符串是否为另外一个字符串旋转之后的字符串。

判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 =AABCD和s2 = BCDAA,返回1给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAAAABCD右旋一个字符得到DAABC思路1.要判断字符串a旋转之后是否是b字符串,先是输入2个字符串,判断2个字符串的长度是否相等,如果相等再接下来判断是否是...

2019-12-01 11:49:32 665 2

原创 扫雷游戏

扫雷游戏:格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。一.要求1.第一次扫雷的时候,要确保扫不到雷子。2.扫到雷的时候,游戏退出。3.玩家看到的是10*10的背景大小,雷子的个数是20。二.整体思路1.设两个表,一张雷表,一张玩家表,大小都为12X12。但显示的时候都是显示中间的10X10部分。设置大小为12X12的原因是,为了方便计算显示的10X10边框上的...

2019-11-05 23:00:13 455 2

原创 编写一个程序,可以一直接收键盘字符, 如果是小写字符就输出对应的大写字符, 如果接收的是大写字符,就输出对应的小写字符, 如果是数字不输出。

输入大写字母输出小写字母输入小写字母输出大写字母数字不输出代码如下:#include<stdio.h>#include<windows.h>int main(){ int c = 0; while ((c=getchar())!=EOF) { if(c >= 'a'&&c <= 'z') { putc...

2019-10-21 21:41:08 677

原创 使用函数实现两个数的交换

完成两个数的交换方法一:普通方法(有临时变量)#include<stdio.h>#include<windows.h>void swap(int i, int j){ int k; k = i; i = j; j = k; printf("swap:i=%d ,j=%d \n", i, j);}int main(){ int i, j; pr...

2019-10-21 21:30:36 644

原创 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。

要求写函数 1.实现初始化数组功能2.实现数组逆置功能3.清空数组功能#include<stdio.h>#include<windows.h>void init(int array[],int len){ printf("完成数组初始化\n"); int i; for (i=0; i < len; i++) { scanf("%d", &am...

2019-10-21 21:10:07 305 3

原创 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。

写了一个函数multipli(int i)实现的是打印乘法口诀表的功能之后再用主函数调用就ok#include<stdio.h>#include<windows.h>void multipli(int i){ int x,y,z; for (x = 1; x <= i; x++) { for (y = 1; y <= x; y++) {...

2019-10-21 21:03:33 152 2

原创 2019-10-12 c语言练习

1.在屏幕上输出以下图案:*************************************************\\以此分界,以上为上半部分,以下为下半部分************************************ 代码如下:#include<stdio.h>#include<windows.h>int mai...

2019-10-12 20:30:00 304 2

原创 初见CSDN

自我介绍我是一个来自西安工程大学的一名大三老阿姨,喜欢c,Java,python。个人兴趣爱好是弹古筝,玩游戏。我很喜欢编程,也很喜欢学习编程序,不同的算法让我了解到了编程的魅力喜欢新知识,并且喜欢学习新知识的那个过程正所谓,活到老,学到老。只有不断学习才可以一直进步!愿景将来就业方向希望从事软件测试方向的相关工作,当然能进大企业当然就很好啦在将来的学习生活中,一定会不断努力,多敲...

2019-09-26 18:27:04 186

空空如也

空空如也

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

TA关注的人

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