自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【剑指offer】翻转单词顺序

一、题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?二、思路分析及代码实现1、先翻转句子中所有的字符。2、翻转每个单词中字符的顺序。public class Solution {

2020-05-29 20:52:16 158

原创 【剑指offer】连续子数组的最大和

一、题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)二、思路分析及代码实现方法一:暴力法枚举所有的子数组

2020-05-28 21:57:34 142

原创 【剑指offer】表示数值的字符串

一、题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。二、思路分析及代码实现这道题的思路有很多,参考了很多大佬写的题解,下面就介绍几个自己可以看懂的方法:方法一:正则表达式方法二:异常捕获Double.parseDouble方法是把数字类型的字符串,转换成double类型public cl

2020-05-28 17:28:06 152

原创 【剑指offer】二叉搜索树与双向链表

一、题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。二、思路分析及代码实现方法一:使用链表保存二叉搜索树中序遍历的结果,通过遍历链表调整二叉搜索树的右子结点为后继节点,左子结点为前驱结点。注意头结点的前驱结点为null,尾结点的后继结点为null。import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode

2020-05-26 10:30:29 113

原创 【剑指offer】第一次只出现一次的字符

一、题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)二、思路分析及大妈实现方法一:两次遍历HashTable第一次遍历统计每个字符出现的次数第二次遍历找出费和题意的字符import java.util.*;public class Solution { public int FirstNotRepeatingChar(String str) {

2020-05-15 19:24:21 107

原创 【剑指offer】数组中出现次数超过一半的数字

一、题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。二、思路分子及代码实现方法一:数学法(排序)思路分析:由于使用的数组,我们很容易想到利用下标的特征来计数,所以采用数组排序、下标计数的方法。代码实现:import java.util.Arrays;public class Solution { public i

2020-05-15 18:03:49 118

原创 【剑指offer】二叉树中何和为某一值的路径

一、题目描述输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。二、思路分析及代码实现方法一:递归法思路分析:1、若当前结点为空,则终止查找2、若target==0,且此时当前结点无子结点,则找到一条路径;3、若target<0,则表示该路径不满足 题目要求4、若target>0,则对当前结点的子结点递归调用当前方法寻找路径。import java.util.ArrayList;

2020-05-15 13:42:53 97

原创 【剑指offer】合为S的两个数字

一、题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。二、思路分析及代码实现方法一:穷举法我们对数组进行两次遍历,最先找到的就是乘积最小的那一组代码比较简单,我们就不在这里贴出来了。方法二:双指针法思路分析:考虑到输出的两个数的和相同,乘积最小。数学知识分析可得,两个数差值越大,乘积越小。我们从两端开始便利给定的数组,若两者的和刚好等于sum,则直接输出;若两者的和大于sum,则数值较大的数变小;

2020-05-14 18:08:47 108

原创 【剑指offer】二叉树的下一个节点

一、题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针二、思路分析及代码实现根据题意,我们很容易想到对二叉树进行中序查找,如果找到,则输出下一个节点,否则继续,直到最后。import java.util.*;/*public class TreeLinkNode { int val; TreeLinkNode left = null; TreeLinkNode right = n

2020-05-08 19:42:35 136

原创 【剑指offer】平衡二叉树

一、题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树二、解题思路及代码实现什么是平衡二叉树?它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1;左右两个子树都是一棵平衡二叉树。方法一:定义法分别计算左右子树的高度差若差值大于1,则返回false否则,判断其左右子树是否为平衡二叉树计算子树的高度使用递...

2020-05-01 18:21:54 126

空空如也

空空如也

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

TA关注的人

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