![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客网刷题
唐唐唐piong
这个作者很懒,什么都没留下…
展开
-
二叉树的镜像
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 ...原创 2019-11-06 15:59:20 · 158 阅读 · 0 评论 -
链表中倒数第K个节点
题目描述 输入一个链表,输出该链表中倒数第k个结点。 public class Solution { public ListNode FindKthToTail(ListNode head,int k) { ListNode s = head; ListNode q = head; //链表长度 int i = 0; ...原创 2019-10-28 16:30:44 · 130 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题解一: public class Solution { public void reOrderArray(int [] array) { LinkedList<Integer&g...原创 2019-10-28 16:22:06 · 110 阅读 · 0 评论 -
数值的整数次方
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 题解一: public class Solution { public double Power(double base, int exponent) { double x = 1; i...原创 2019-10-28 15:48:11 · 97 阅读 · 0 评论 -
二进制中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 题解一: public class Solution { public int NumberOf1(int n) { int count = 0; String s = Integer.toBinaryString(n); for(int i = 0;i &l...原创 2019-10-26 09:22:48 · 96 阅读 · 0 评论 -
矩形覆盖
题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 题解一: public class Solution { public int RectCover(int target) { int a = 0,b = 1,c = 2; if(target == 0) ...原创 2019-10-26 09:00:25 · 84 阅读 · 0 评论 -
变态跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 1--1 1--2 3--4 4--8 题解一: public class Solution { public int JumpFloorII(int target) { if(target <= 1){ r...原创 2019-10-26 08:45:43 · 115 阅读 · 0 评论 -
跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果) 1.n = 1——>1 2.n = 2——>2 3.n = 3——>3 4.n =4——>5 通过分析得知跳台阶就是另一种的斐波那契数列 题解一:递归版 ublic class Solution { public int ...原创 2019-10-26 08:29:05 · 191 阅读 · 0 评论 -
斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 题解一: public class Solution { public int Fibonacci(int n) { if(n == 0){ return 0; }else if(n == 1 ...原创 2019-10-26 08:05:35 · 70 阅读 · 0 评论 -
旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 import java.util.ArrayList; public class Solution { ...原创 2019-10-25 21:09:12 · 90 阅读 · 0 评论 -
用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 public class Solution { static Stack<Integer> stack1 = new Stack<Integer>(); static Stack<Integer> stack2 = new Stack<Int...原创 2019-10-25 20:58:58 · 100 阅读 · 0 评论 -
从头到尾打印链表
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } ...原创 2019-10-25 17:10:45 · 112 阅读 · 0 评论 -
替换空格
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy public class Solution { public String replaceSpace(StringBuffer str) { for(int i = 0;i < str.leng...原创 2019-10-25 15:57:15 · 91 阅读 · 0 评论 -
二维数组的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解法一: 遍历每一个数字判断是否与target相等 public class Solution { public boolean Find(int target, int [][...原创 2019-10-25 15:36:43 · 87 阅读 · 0 评论 -
字符串加解密
题目描述: 1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换, 同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0; 其他字符不做变化。 3、解密方法为加密的逆过程。 输入描述: 输入说明 输入一串要加密的密码 输入一串加过密的密码 输出描述: 输出说明...原创 2019-07-23 17:39:42 · 168 阅读 · 0 评论 -
坐标移动
题目: 开发一个坐标计算工具, A表示向左移动,D表示向右移动, W表示向上移动,S表示向下移动。从(0,0)点开始移动, 从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非法坐标点需要进行丢弃。如AA10; A1A; $%$; YAD; 等。 输入描述: 一行字符串 输出描述:...原创 2019-07-23 19:53:43 · 183 阅读 · 0 评论 -
句子逆序
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符 接口说明 /** * 反转句子 * * @param sentence 原句子 * @return 反转后的句子 */ public String reverse(String sentence); 输入...原创 2019-07-19 16:44:25 · 92 阅读 · 0 评论 -
删除公共字符
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.” 题解: public class Main { public static void main(String[] args) { Scanner in = new Scann...原创 2019-07-19 16:46:34 · 89 阅读 · 0 评论 -
最近公共祖先
题目: 有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。请设计一个算法,求出a和b点的最近公共祖先的编号。 给定两个int a,b。为给定结点的编号。请返回a和b的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。 题解: public class LCA { public int getLCA(int a, int ...原创 2019-07-17 21:33:09 · 93 阅读 · 0 评论 -
NOWCODER 空格替换
题目: 请编写一个方法,将字符串中的空格全部替换为“%20”。 假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000), 同时保证字符串由大小写的英文字母组成。 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。 测试样例: "Mr John Smith”,13 返回:"Mr%20John%20Smi...原创 2019-07-22 19:26:36 · 90 阅读 · 0 评论 -
回文串
给定一个字符串,问是否能通过添加一个字母将其变为回文串。 输入描述: 一行一个由小写字母构成的字符串,字符串长度小于等于10。 输出描述: 输出答案(YES\NO). 题解: import java.util.*; public class Main { public static void main(String[] args) { Scanner in ...原创 2019-07-22 20:39:35 · 119 阅读 · 0 评论 -
统计回文
链接:https://www.nowcoder.com/questionTerminal/9d1559511b3849deaa71b576fa7009dc 来源:牛客网 回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使...原创 2019-08-18 20:05:35 · 64 阅读 · 0 评论 -
寻找第K大----快排的思路
链接:https://www.nowcoder.com/questionTerminal/e016ad9b7f0b45048c58a9f27ba618bf 来源:牛客网 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。 测试样例: [1,3,5,2,2],5,3 返回:2 ...原创 2019-08-19 10:29:54 · 397 阅读 · 0 评论 -
汽水瓶
题目描述 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 输...原创 2019-08-19 11:16:37 · 80 阅读 · 0 评论 -
Java实现归并排序-----图文详解
归并的思想:归并排序也是基于分治法的。归并排序将待排序的元素序列分成两个长度相等的子序列,为每一个子序列排序,然后再将他们合并成一个子序列。合并两个子序列的过程也就是两路归并。 复杂度:归并排序最好、最差和平均时间复杂度都是nlog2n。 归并排序是稳定的排序算法 归并排序实现代码 public class Merger { //拆分数组 public static ...原创 2019-08-19 17:13:24 · 374 阅读 · 0 评论 -
计算日期到天数转换
题目描述 根据输入的日期,计算是这一年的第几天。。 详细描述: 输入某年某月某日,判断这一天是这一年的第几天 输入描述: 输入三行,分别是年,月,日 输出描述 成功:返回outDay输出计算后的第几天; 失败:返回-1 分析: 1.首先是输入错误的情况,比如年,月,日的大小超出正常限制 2.其次涉及到年份的问题,要判断是否为闰年 3.计算天数的时候,应当是前几月的天数之和加上本...原创 2019-07-23 17:06:27 · 339 阅读 · 0 评论