![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
呆坐的熊
这个作者很懒,什么都没留下…
展开
-
07. 重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。解法1:递归思路。在前序遍历中,根节点即为第一个数。确定根节点后,在中序遍历中找到根节点对应位置,根据中序遍历特点,根节点位置左侧属于左子树,右侧属于为右子树。这样就确定了左子树的节点个数。根据节点个数在前序遍历中划分出左子树区间。形成循环节/** * Definition for a binary tree node. * public class TreeNode { * .原创 2020-07-25 17:37:34 · 151 阅读 · 0 评论 -
09. 用两个栈实现队列
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class CQueue {.原创 2020-07-23 12:08:58 · 161 阅读 · 0 评论 -
10- I. 斐波那契数列和10- II. 青蛙跳台阶问题
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble.原创 2020-07-23 11:32:03 · 165 阅读 · 0 评论 -
06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。主要是顺序问题,利用栈先入后出的特性/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public int[] reversePrint(L.原创 2020-07-23 11:15:26 · 105 阅读 · 0 评论 -
05. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。没啥好说的,唯一的技巧就是预先创造存储数组,避免使用String的+运算,提高时间效率。class Solution { public String replaceSpace(String s) { int n = s.length(); char[] ans = new char[n*3]; int size = 0; for(int i=0;i<n;i++).原创 2020-07-23 11:08:01 · 89 阅读 · 0 评论 -
04. 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。主要问题在于怎么缩小搜索区间。如果从(0, 0)开始,会发现不管可行的两个方.原创 2020-07-23 10:41:32 · 92 阅读 · 0 评论 -
03. 数组中重复的数字
Leetcode 找出数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3方法一:计数的思路,出现重复就返回。空间O(N), 时间O(N)。class Sol...原创 2020-05-02 23:02:59 · 151 阅读 · 0 评论