剑指offer
文章平均质量分 68
努力努力再努力@_@
KEEP CODING ......
展开
-
(简单)剑指Offer 21. 调整数组顺序使奇数位于偶数前面 Java
记数组nums的长度为n。从先nums左侧开始遍历,如果遇到的是奇数,就表示这个元素已经调整完成,继续从左往右遍历,直到遇到一个偶数。然后从nums右侧开始遍历,如果遇到的是偶数,就表示这个元素已经调整完成了,继续从右往左遍历,直到遇到一个奇数,将换这个偶数和奇数的位置,并且重复两边的遍历,直到在中间相遇,nums调整完成。原创 2023-07-14 15:31:39 · 257 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ12 矩阵中的路径 深度优先搜索DFS Java实现
请设计一个函数,用来判断在一个n乘m的矩阵中是否存在一条包含某长度为len的字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子原创 2022-09-26 09:41:40 · 188 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ20 表示数值的字符串 Java实现
请实现一个函数用来判断字符串str是否表示数值(包括科学计数法的数字,小数和整数)。原创 2022-09-25 10:28:37 · 237 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ67 把字符串转换成整数 Java实现
写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。传入的字符串可能有以下部分组成:1.若干空格2.(可选)一个符号字符('+' 或 '-')3. 数字,字母,符号,空格组成的字符串表达式4. 若干空格原创 2022-09-25 09:03:54 · 228 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ61 扑克牌顺子 两种方案 Java实现
现在有2副扑克牌,从扑克牌中随机五张扑克牌,我们需要来判断一下是不是顺子。原创 2022-09-24 09:21:59 · 442 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ29 顺时针打印矩阵 Java实现
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字原创 2022-09-23 08:34:18 · 143 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ38 字符串的排列 Java实现
输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。原创 2022-09-21 14:05:38 · 559 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ4 二维数组中的查找 Java实现
在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。原创 2022-09-21 08:48:58 · 185 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ7 重建二叉树 Java实现 两种方案(递归+非递归stack)
给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。原创 2022-09-21 07:27:44 · 179 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ11 旋转数组的最小数字 Java实现
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。原创 2022-09-18 11:27:58 · 163 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ53 数字在升序数组中出现的次数 Java实现
给定一个长度为 n 的非降序数组和一个非负数整数 k ,要求统计 k 在数组中出现的次数原创 2022-09-18 09:53:36 · 347 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ33 二叉搜索树的后序遍历序列 Java实现
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回 true ,否则返回 false 。假设输入的数组的任意两个数字都互不相同。原创 2022-09-16 09:51:49 · 265 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ77 按之字形顺序打印二叉树 Java实现
给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)原创 2022-09-15 11:08:09 · 326 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ78 把二叉树打印成多行 两种方案(递归+非递归) Java实现
给定一个节点数为 n 二叉树,要求从上到下按层打印二叉树的 val 值,同一层结点从左至右输出,每一层输出一行,将输出的结果存放到一个二维数组中返回。原创 2022-09-14 09:01:33 · 173 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ8 二叉树的下一个结点 两种方案 Java实现
给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示,从子节点指向父节点的用虚线表示原创 2022-09-13 10:26:02 · 244 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ86 在二叉树中找到两个节点的最近的公共祖先 两种方案 Java实现
给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。原创 2022-09-12 09:29:44 · 329 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ54 二叉搜索树的第k个节点 递归版+非递归版 Java实现
给定一棵结点数为n 二叉搜索树,请找出其中的第 k 小的TreeNode结点值。原创 2022-09-11 09:55:47 · 250 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ28 对称的二叉树 两种方案 Java实现
给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)原创 2022-09-10 09:15:43 · 178 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ84 二叉树中和为某一值的路径(三)
给定一个二叉树root和一个整数值 sum ,求该树有多少路径的的节点值之和等于 sum 。原创 2022-09-09 10:46:34 · 240 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ34 二叉树中和为某一值的路径(二) Java实现 两种方案
输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值的和为expectNumber的所有路径。原创 2022-09-08 13:43:38 · 264 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ68 二叉搜索树的最近公共祖先 两种方案(递归、非递归) Java实现
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。原创 2022-09-07 08:29:27 · 448 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ43 整数中1出现的次数(从1到n整数中1出现的次数)两种方案 Java实现
输入一个整数 n ,求 1~n 这 n 个整数的十进制表示中 1 出现的次数。例如, 1~13 中包含 1 的数字有 1 、 10 、 11 、 12 、 13 因此共出现 6 次。注意:11 这种情况算两次原创 2022-09-06 13:17:34 · 248 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ21 调整数组顺序使奇数位于偶数前面(一) 三种方案 Java实现
输入一个长度为 n 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。原创 2022-09-05 08:39:17 · 146 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ81 调整数组顺序使奇数位于偶数前面(二) 三种方案 Java实现
输入一个长度为 n 整数数组,数组里面可能含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,对奇数和奇数,偶数和偶数之间的相对位置不做要求,但是时间复杂度和空间复杂度必须如下要求。要求:时间复杂度 O(n),空间复杂度 O(1)原创 2022-09-04 08:48:21 · 158 阅读 · 0 评论 -
【牛客 - 剑指offer / 快速幂】JZ16 数值的整数次方 两种方案(直接运算、快速幂) Java实现
实现函数 double Power(double base, int exponent),求base的exponent次方。原创 2022-09-03 08:09:12 · 184 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ65 不用加减乘除做加法 位运算、递归、非递归实现 Java实现
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。原创 2022-09-02 09:05:00 · 264 阅读 · 0 评论 -
【牛客 - 剑指offer】详解 JZ56 数组中只出现一次的两个数字 Java实现(HashMap方案 + 利用异或运算的形式)
一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。原创 2022-09-01 08:57:07 · 220 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ64 求1+2+3+...+n 与运算的短路操作 Java实现
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。原创 2022-08-30 19:47:51 · 256 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ66 构建乘积数组 两种方案 Java实现
给定一个数组 A[0,1,...,n-1] ,请构建一个数组 B[0,1,...,n-1] ,其中 B 的元素 B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1](除 A[i] 以外的全部元素的的乘积)。程序中不能使用除法。(注意:规定 B[0] = A[1] * A[2] * ... * A[n-1],B[n-1] = A[0] * A[1] * ... * A[n-2])对于 A 长度为 1 的情况,B 无意义,故而无法构建,用例中不包括这种情况。......原创 2022-08-30 08:06:50 · 181 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ73 翻转单词序列 Java实现
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a nowcoder.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?...原创 2022-08-29 07:20:23 · 127 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ31 栈的压入、弹出序列 两种方案 Java实现
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。...原创 2022-08-28 08:57:53 · 303 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ50 第一个只出现一次的字符 Java实现
在一个长为 字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)原创 2022-08-27 13:03:22 · 274 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ44 数字序列中某一位的数字 Java实现
数字以 0123456789101112131415... 的格式作为一个字符序列,在这个序列中第 2 位(从下标 0 开始计算)是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输出第 n 位对应的数字。原创 2022-08-27 08:30:02 · 371 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ39 数组中出现次数超过一半的数字 Java实现 HashMap的简单入门应用
给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。原创 2022-08-26 12:30:13 · 75 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ30 包含min函数的栈 Java实现
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。原创 2022-08-26 08:35:23 · 238 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ15 二进制中1的个数 Java实现 | 原码、反码、补码
输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。原创 2022-08-25 09:17:31 · 142 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ17 打印从1到最大的n位数 Java实现
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。原创 2022-08-25 07:51:44 · 112 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ9 用两个栈实现队列 Java实现
【牛客 - 剑指offer】JZ9 用两个栈实现队列 Java实现原创 2022-08-24 08:31:59 · 108 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ5 替换空格 Java实现
【牛客 - 剑指offer】JZ5 替换空格 Java实现原创 2022-08-23 15:23:45 · 245 阅读 · 0 评论 -
【牛客 - 剑指offer】JZ3 数组中重复的数字 两种思路 Java实现
【牛客 - 剑指offer】JZ3 数组中重复的数字 两种思路 Java实现原创 2022-08-23 08:45:55 · 269 阅读 · 0 评论