自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《剑指offer》练习-面试题?-数字在排序数组中出现的次数

题目:统计一个数字在排序数组中出现的次数。思路一:简单暴力的解法一。。。package offer;public class Solution999 { public int GetNumberOfK(int[] array, int k) { int count = 0; for (int i = 0; i < array.length; i++) { i...

2018-07-31 22:00:10 102

原创 《剑指offer》练习-面试题36-二叉搜索树与双向链表

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。链接:https://www.nowcoder.com/questionTerminal/947f6eb80d944a84850b0538bf0ec3a5package offer;public class Solution36 { TreeNode head...

2018-07-30 20:59:43 219 1

原创 《剑指offer》练习-面试题34-二叉树中和为某一值的路径

题目:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)链接:https://www.nowcoder.com/questionTerminal/b736e784e3e34731af99065031301bcapackage offe...

2018-07-30 19:19:42 254

原创 《剑指offer》练习-面试题33-二叉搜索树的后序遍历序列

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。package offer;public class Solution33 { public boolean VerifySquenceOfBST(int[] sequence) { if(sequence==null||sequenc...

2018-07-27 22:47:25 154

原创 《剑指offer》练习-面试题32-从上到下打印二叉树

题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。package offer;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class Solution32 { public ArrayList<Integer> PrintFro...

2018-07-26 22:49:20 135

原创 《剑指offer》练习-面试题28-对称的二叉树

题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。package offer;public class Solution28 { boolean isSymmetrical(TreeNode pRoot) { if (pRoot == null) return true; return f(pRoot...

2018-07-26 22:06:35 107

原创 《剑指offer》练习-面试题27-二叉树的镜像

题目:操作给定的二叉树,将其变换为源二叉树的镜像。package offer;public class Solution27 { public void Mirror(TreeNode root) { if (root == null) return; if (root.left == null && root.right == null) ...

2018-07-25 22:20:48 129

原创 《剑指offer》练习-面试题26-树的子结构

题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)链接:https://www.nowcoder.com/questionTerminal/6e196c44c7004d15b1610b9afca8bd88来源:牛客网package offer;public class Solution26 { public boolean Has...

2018-07-25 22:02:10 76

原创 《剑指offer》练习-面试题52-两个链表的第一个公共节点

题目:输入两个链表,找出它们的第一个公共节点。链接:https://www.nowcoder.com/questionTerminal/6ab1d9a29e88450685099d45c9e31e46来源:牛客网思路一:栈(后进先出)。分别把两个链表的节点放入两个栈里,这样两个链表的尾节点就位于两个栈的栈顶,接下来比较两个栈顶的节点是否相同。如果相同,则把栈顶弹出接着比较下一个栈顶,...

2018-07-22 21:05:53 348

原创 《剑指offer》练习-面试题35-复杂链表的复制

题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)链接:https://www.nowcoder.com/questionTerminal/f836b2c43afc4b35ad6adc41ec941dba来源:牛客网...

2018-07-21 22:06:41 149

原创 《剑指offer》练习-面试题25-合并两个排序的链表

题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。例如:链表1为1-->3-->5-->7,链表2为2-->4-->6-->8,合并的链表3为1-->2-->3-->4-->5-->6-->7-->8.链接:https://www.nowcoder.com/ques...

2018-07-21 18:25:55 77

原创 《剑指offer》练习-面试题24-反转链表

题目:输入一个链表,反转链表后,输出新链表的表头。链接:https://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca来源:牛客网package offer;public class Solution24 { public ListNode ReverseList(ListNode head...

2018-07-21 16:51:12 91

原创 《剑指offer》练习-面试题23-链表中环的入口节点

题目:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。链接:https://www.nowcoder.com/questionTerminal/253d2c59ec3e4bc68da16833f79a38e4来源:牛客网思路:第一步,找环中的相汇点。分别用fast,slow指向链表头部,fast每次走2步,slow每次走1步,知道fast==slow找到在环中的...

2018-07-20 22:26:23 196

原创 《剑指offer》练习-面试题22-链表中倒数第k个节点

题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。思路:《剑指offer》P135package offer;public class Solution22 { public ListNod...

2018-07-20 21:14:42 94

原创 《剑指offer》练习-面试题18-删除链表的节点

题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5链接:https://www.nowcoder.com/questionTerminal/fc533c45b73a41b0b44ccba763f866ef来源:牛客...

2018-07-20 12:02:40 100

原创 *《剑指offer》练习-面试题51-数组中的逆序对

题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的综述。例如,在数组{7,5,6,4}中,一共存在5个逆序对,分别是(7,6)、(7,5)、(7,4)、(6,4)、(5,4)。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007package o...

2018-07-16 22:50:45 135

原创 《剑指offer》练习-面试题50-第一个只出现一次的字符

题目:字符串中第一个只出现一次的字符。在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'。package offer;import java.util.HashMap;import java.util.Scanner;public class Solution50 { public int FirstNotRepeatingChar(String str)...

2018-07-16 00:42:17 129

原创 《剑指offer》练习-面试题49-丑数

题目:我们把只包含因子2、3、5的数称作丑数(Ugly Number)。求从小到大的顺序的第1500个丑数。例如,6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做第一个丑数。package offer;import java.util.ArrayList;import java.util.Scanner;public class Solution49 { /* *...

2018-07-13 22:40:21 133

原创 《剑指offer》练习-面试题45-把数组排成最小的数

题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接处的所有数字中的最小的一个。例如,输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323。package offer;import java.util.Scanner;public class Solution45 { public String PrintMinNumber(int[] num...

2018-07-12 22:49:32 174

原创 《剑指offer》练习-面试题43-1~n整数中1出现的次数

题目:输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数。链接:https://www.nowcoder.com/questionTerminal/bd7f978302044eee894445e244c7eee6来源:牛客网首先可以先分类: 我们知道在个位数上,1会每隔10出现一次,例如1、11、21等等,我们发现以10为一个阶梯的话,每一个完整的阶梯里面都有一个1,例如数字...

2018-07-11 22:44:47 436

原创 《剑指offer》练习-面试题42-连续子数组的最大和

题目:输入一个整型数组,数组里有整数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。思路:对于一个数A,若是A的左边累计数非负,那么加上A能使得值不小于A,认为累计值对于整体和是有贡献的。如果前几项累计值为负数,则认为有害于总和。用total来记录当前累计值,maxSum记录最大和。package offer;import java.ut...

2018-07-11 22:06:17 100

原创 《剑指offer》练习-面试题40-最小的k个数

题目:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。思路:构造一个容量为k的容器,接下来每次从输入的n个整数中读入一个数。如果容器中已有的数字少于k个,则直接把这次读入的整数放入容器中;若容器已满(已有k个数字了),则找出这已有的k个数中的最大值,然后拿这次待插入的整数与其比较。如果待插入的值比当前已有的最大值小,则...

2018-07-09 21:27:38 97

原创 《剑指offer》练习-面试题39-数组中出现次数超过一半的数字

题目:数组中有一个数字出现的额次数超过数组长度的一半,请找出这个数字。思路:(剑指offer解法二,时间复杂度O(n))在遍历数组是保存两个值:一个是数组中的一个数字;另一个是次数。当遍历到下一个数字的时候,如果下一个数组和之前保存的数字相同,则次数+1,;如果不同,则次数-1。如果次数为0,那么保存下一个数字,并把次数设为1。https://www.nowcoder.com/ques...

2018-07-04 20:52:49 156

原创 《剑指offer》练习-面试题38-字符串的排列

题目:输入一个字符串,打印出该字符串中字符的所有排列。解法一(剑指offer):package offer;import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.Scanner;import java.util.Set;pu...

2018-07-03 22:34:12 191

原创 《剑指offer》练习-面试题29-顺时针打印矩阵

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。首先:把矩阵看成若干个圈,用循环来打印出这些圈,循环的终止条件是columns>start*2 && rows>start*2然后:For each circle:可以分为四步打印。第一步:从左到右打印一行;第二部:从上到下打印一列(条件:终止行大于起始行);第三步:从右到左打印一行(条件:...

2018-07-02 22:05:59 113

空空如也

空空如也

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

TA关注的人

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