自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer(22)序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#)二叉树的反序列化是指:根据某种遍历顺序得到的序列化字符串结果str,重构二叉树。...

2019-08-31 11:27:13 96

原创 剑指offer(21) 按之字形顺序打印二叉树

题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。你想想 不就是把如果是偶数行 不就是把每行的顺序倒过来加嘛 就是add(0,val);public class Solution { public ArrayList<ArrayList<Integer>&g...

2019-08-30 22:10:43 75

原创 剑指offer(20) 把二叉树打印成多行

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。队列queue解决即可public class Solution { ArrayList<ArrayList<Integer> > Print(TreeNode root) { ArrayList<ArrayList<Integer>> re...

2019-08-30 21:01:19 60

原创 剑指offer(19)对称的二叉树

题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。递归调用;如果为空返回,不为空就是返回左右的比较左右分两种: 1 都为空 true 2 都不为空 返回这两个的比较, t1左和t2右或者t1右跟t2左 3有一个为空就返回错public class Solution { boolean isSymme...

2019-08-30 20:58:41 107

原创 剑指offer(18) 二叉树的下一个结点

题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。setsail分析二叉树的下一个节点,一共有以下情况:1.二叉树为空,则返回空;2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点;3.节点不是根节点。如果该节点是其父节点的...

2019-08-29 22:11:24 77

原创 剑指offer(17) 顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.四个边界条件 左 有 上 下 每次执行完一轮后左+1 右-1 上+1 下-1四个for循环 以第一次为例 第一...

2019-08-29 21:20:41 73

原创 剑指offer(16) 和为S的两个数字

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。双指针+ 坐标唯一 根据和s的大小来决定import java.util.*;public class Solution { public ArrayList<Integer> FindNumbersWithSum(int []...

2019-08-29 21:15:17 68

原创 java多线程

第一章:并发编程的挑战一、上下文切换巧妙地利用了时间片轮转的方式, CPU 给每个任务都服务一定的时间,然后把当前任务的状态保存下来,在加载下一任务的状态后,继续服务下一任务,任务的状态保存及再加载, 这段过程就叫做上下文切换。时间片轮转的方式使多个任务在同一颗 CPU 上执行变成了可能。 进程 (有时...

2019-08-29 08:20:15 291 1

原创 剑指offer(15) 二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。public class Solution { public int TreeDepth(TreeNode root) { if(root == null) return 0; return Mat...

2019-08-27 13:33:42 74

原创 剑指offer(14) 翻转单词顺序列

题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?处理一下特殊情...

2019-08-27 11:23:57 73

原创 剑指offer(13) 数组中只出现一次的数字

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。首先变负数吧,在二进制中负数采用补码的形式,而补码就是反码+1,那么110的反码是 11...1001,那么加1后是 11...1010,然后和 110 相与,得到了10,就是代码中的diff变量。得到了这个diff,就可以将原数组分为两个数组了。为啥呢,我们想阿,如果两个相同的数字亦...

2019-08-27 11:09:21 81

原创 剑指offer(12)数字在排序数组中出现的次数

题目描述统计一个数字在排序数组中出现的次数。public class Solution { public int GetNumberOfK(int [] arr , int k) { int count = 0; for(int i = 0; i < arr.length; i++){ if(arr[i] > k...

2019-08-27 10:53:21 62

原创 剑指offer(11)左旋转字符串

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!注意空值和余数即可public class Solution { public ...

2019-08-27 10:52:43 67

原创 剑指offer(10)把字符串转换成整数和为S的连续正数序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正数...

2019-08-27 10:33:45 96

原创 剑指offer(9)平衡二叉树

平衡二叉树题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。就是递归算高度即可public class Solution { private boolean flag; public boolean IsBalanced_Solution(TreeNode root) { height(root); return !flag;...

2019-08-27 10:31:52 71

原创 剑指offer(8)把字符串转换成整数

题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例1输入+2147483647 ...

2019-08-26 10:06:21 71

原创 剑指offer(7)变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。你会发现 f(n) = f(n-1) + f(n-2) ............. f(1);f(n-1) = f(n-2)........f(1) 所以 f(n) = f(n-1) * 2;public class Solution { public i...

2019-08-26 09:31:33 74

原创 剑指offer(6)跳台阶

斐波那契数列版动态规划题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。public class Solution { public int JumpFloor(int target) { if(target == 1) return 1; if...

2019-08-26 09:28:36 92

原创 剑指offer(5)斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39F[n]=F[n-1]+F[n-2](n>=3,F[1]=1,F[2]=1)public class Solution { public int Fibonacci(int n) { if(n == 0) ...

2019-08-26 09:25:20 90

原创 剑指offer(4)从尾到头打印链表

一个栈题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。import java.util.*;public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer&g...

2019-08-26 09:20:24 107

原创 剑指offer-(3) 删除链表中重复的结点

题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5递归 主要解决又连续重复的情况 这种情况我们直接返回删除后 再被排序之后的头结点对于某一个节点,如果不是重复 那么返回他的next节点修改后的节点,如果是重...

2019-08-26 09:19:40 88

原创 剑指offer(2)链表中环的入口结点

题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。当P1和P2在PM相遇时:P1走过的路程(结点数):S快=L+X+n*R;P2走过的路程(结点数):S慢=L+X;为什么P2在环内只走了X的长度答:当两个指针在环内第一次相遇的时候p2在环内走过的距离肯定不会超过环的长度。因为当p2刚刚进入环的时候,如果p1和p2没有相遇,那么p1和p2...

2019-08-26 09:00:50 66

原创 剑指offer(1)二叉树的镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5...

2019-08-25 11:23:41 88

原创 面经汇总

spring方面:1.java反射:反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。我们可以在运行时获得程序或程序集中每一个类型的成员和成员的信息,重点:是运行时而不是编译时反射能够配置类的全限定名,方法和参数,完成对象的初始化,还能反射某些方法主要应用反射完成对象的构建(有参无参)以及方...

2019-08-21 10:18:07 2895 2

原创 拼多多+字节

public static void main(String[] args){ Scanner sc = new Scanner(System.in); int l = sc.nextInt(); int n = sc.nextInt(); int[] position = new int[n];...

2019-08-11 21:04:54 600

转载 算法基础-字符移位

链接:https://www.nowcoder.com/questionTerminal/7e8aa3f9873046d08899e0b44dac5e43来源:牛客网小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.leng...

2019-08-02 10:03:55 308

转载 java并发(四)

JUC中的集合类 下面,我们先了解JUC包中集合类的框架;为了方便讲诉,我将JUC包中的集合类划分为3部分来进行说明。在简单的了解JUC包中集合类的框架之后,后面的章节再逐步对各个类进行介绍。1. List和SetJUC集合包中的List和Set实现类包括:CopyOnWriteArrayList,CopyOnWriteArraySet和ConcurrentSkipListS...

2019-08-01 15:28:59 156

转载 构造动态回文串

链接:https://www.nowcoder.com/questionTerminal/28c1dc06bc9b4afd957b01acdf046e69来源:牛客网链接:https://www.nowcoder.com/questionTerminal/28c1dc06bc9b4afd957b01acdf046e69来源:牛客网给定一个字符串s,你可以从中删除一些字符,使得剩下的...

2019-08-01 09:38:05 136

空空如也

空空如也

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

TA关注的人

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