![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer题解
漂洋过海95
这个作者很懒,什么都没留下…
展开
-
剑指Offer-16-正则表达式匹配
/** * 正则表达式匹配 * @Description */public class Test17 { //一行代码 public boolean isMatch1(String s, String p) { return s.matches(p); } //动态规划 public boolean isMatch2(String s, String p) { int n = s.length(); int m原创 2020-06-26 09:31:07 · 172 阅读 · 0 评论 -
剑指Offer-15-删除链表中某个节点
/** * @Description */public class Test16 { public class ListNode{ int val; ListNode next; public ListNode(int value,ListNode nextNode) { val=value; next=nextNode; } } //leetcode简化版本原创 2020-06-26 09:29:45 · 175 阅读 · 0 评论 -
剑指Offer-14-打印从1到最大的n位数
import java.util.Arrays;/** * 打印从1到最大的n位数 : https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/ * @Description */public class Test15 { public int[] printNumbers(int n) { int end = (int) Math.pow(10,n) - 1; i原创 2020-06-26 09:28:32 · 182 阅读 · 0 评论 -
剑指Offer-13-数值的整数次方
/** * 数值的整数次方:https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/ * @Description */public class Test14 { boolean isInvalid = false; public double myPow(double x, int n) { isInvalid = false; double result;原创 2020-06-26 09:27:52 · 120 阅读 · 0 评论 -
剑指Offer-12-二进制中1的个数
/** * 二进制中1的个数 * @Description */public class Test13 { // you need to treat n as an unsigned value public int hammingWeight(int n) { int count = 0; while (n != 0){ count++; n = (n - 1) & n; }原创 2020-06-23 02:54:34 · 100 阅读 · 0 评论 -
剑指Offer-11-剪绳子
/** * 剪绳子-I : https://leetcode-cn.com/problems/jian-sheng-zi-lcof/ * 动态规划 * @Description */public class Test12 { //动态规划 public int cuttingRope1(int n) { if (n < 2){ return 0; } if (n == 2){ r原创 2020-06-23 02:53:36 · 94 阅读 · 0 评论 -
剑指Offer-10-机器人运动范围
/** * 机器人的运动范围:https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/ * @Description */public class Test11 { public int movingCount(int m, int n, int k) { if (m <= 0 || n <= 0 || k < 0){ return 0;原创 2020-06-23 02:52:08 · 151 阅读 · 0 评论 -
剑指Offer-09-矩阵中的距离
/** * 矩阵中的距离:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/ * 首先对所整个矩阵遍历,找到第一个字符,然后向上下左右查找下一个字符,由于每个字符都是相同的判断方法 * (先判断当前字符是否相等,再向四周查找),因此采用递归函数。由于字符查找过后不能重复进入, * 所以还要定义一个与字符矩阵大小相同的布尔值矩阵,进入过的格子标记为true。如果不满足的情况下, * 需要进行回溯,此时,要将当前位置的布尔值标原创 2020-06-23 02:50:55 · 167 阅读 · 0 评论 -
剑指Offer-08-旋转数组的最小数字
/** * 旋转数组的最小数字(寻找右排序的首个元素x,x也可以称为旋转点) * @Description */public class Test09 { public int minArray(int[] numbers) {// int i = 0, j = numbers.length - 1;// while (i < j) {// int m = (i + j) / 2;// if (numbe.原创 2020-06-23 02:50:00 · 110 阅读 · 0 评论 -
剑指Offer-07-斐波那契数列
/** * 斐波那契数列(答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1) * @Description */public class Test08_1 { public int fib(int n) { if(n == 0 || n == 1){ return n; } long[] dp = new long[n+1]; dp[0] = 0;原创 2020-06-19 17:41:27 · 137 阅读 · 0 评论 -
剑指Offer-06-用两个栈来实现队列
import java.util.LinkedList;/** * 用两个栈来实现队列 * @Description */public class Test07 { class CQueue { LinkedList<Integer> stack1; LinkedList<Integer> stack2; public CQueue() { //初始化栈 stack1原创 2020-06-19 17:39:40 · 110 阅读 · 0 评论 -
剑指Offer-05-二叉树的下一个节点
/** * 剑指offer书中:二叉树的下一个节点 * 1.若当前结点有右子树时,其下一个结点为右子树中最左子结点; * 2.若当前结点无右子树时, * (1)若当前结点为其父结点的左子结点时,其下一个结点为其父结点; * (2)若当前结点为其父结点的右子结点时,继续向上遍历父结点的父结点, * 直到找到一个结点是其父结点的左子结点(与(1)中判断相同),该结点即为下一结点。 * @Description */public class Test06 { //树的节点比较特殊,除了指原创 2020-06-19 17:38:30 · 84 阅读 · 0 评论 -
剑指Offer-04-重建二叉树
/** * 重建二叉树(根据二叉树先序和中序遍历重建二叉树) * @Description */public class Test05 { class TreeNode{ int value; TreeNode left; TreeNode right; public TreeNode(int value){ this.value = value; } } public T原创 2020-06-18 15:56:47 · 91 阅读 · 0 评论 -
剑指Offer-03-从头到尾打印单链表
import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Stack;/** * 从头到尾打印单链表 * @Description */public class Test04 { public static class ListNode{ int value; ListNode next; public ListN原创 2020-06-18 15:55:00 · 106 阅读 · 0 评论 -
剑指Offer-02-空格替换(2)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入package com.hhy.algorithm.sword2offer.newcode;/** * 空格替换,在原原创 2020-06-18 15:52:43 · 123 阅读 · 0 评论 -
剑指Offer-02-空格的替换
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。package hhy.offer;/** * 空格的替换 * */public class Test02 { /* public static String replaceSpace(StringBuffer ...原创 2019-03-14 22:22:56 · 92 阅读 · 0 评论 -
剑指Offer-01-二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。package hhy.offer;/** * 01.二维数组中的查找 * * 从右上角开始往下进行查找,逐步去掉不满足条件的行或者列 * */public class Test0...原创 2019-03-14 22:21:28 · 160 阅读 · 0 评论