07 2021 档案

摘要:题目:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 解法:动态规划 代码: class Solution { pub 阅读全文
posted @ 2021-07-22 10:44 for_ward 阅读(37) 评论(0) 推荐(0)
摘要:题目:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 思路:用一个队即可以实现栈 代码: class MyStack { static Queue queue ; /** Initialize your data stru 阅读全文
posted @ 2021-07-21 17:29 for_ward 阅读(29) 评论(0) 推荐(0)
摘要:题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 思路1:stack2模拟队列的输出顺序,插入元素前,将保留先前的元素的 阅读全文
posted @ 2021-07-21 10:53 for_ward 阅读(36) 评论(0) 推荐(0)
摘要:题目:给定一个二叉树,返回它的 后序 遍历。 解法:迭代 思路:利用栈实现中右左,再翻转成左右中 代码: /** Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode r 阅读全文
posted @ 2021-07-20 17:29 for_ward 阅读(53) 评论(0) 推荐(0)
摘要:题目:给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 解法:迭代 思路:模拟 代码: /** Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode righ 阅读全文
posted @ 2021-07-20 17:28 for_ward 阅读(30) 评论(0) 推荐(0)
摘要:题目:给定一个二叉树的根节点 root ,返回它的 中序 遍历。 解法:迭代 思路:模拟 代码: /** Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode right 阅读全文
posted @ 2021-07-20 17:26 for_ward 阅读(44) 评论(0) 推荐(0)
摘要:题目:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 解法:分治思想 思路:因为前序遍历和中序遍历的数组可以表示一棵树,通过分别给定左子树和右子树前序遍历、中序遍历的数组范围,就可以建立左子树和右子树。只要我们在中序遍历中 阅读全文
posted @ 2021-07-19 11:09 for_ward 阅读(37) 评论(0) 推荐(0)
摘要:1.递归三要素 第一要素:明确你这个函数想要干什么(如:算 n 的阶乘) // 算 n 的阶乘(假设n不为0) int f(int n){ } 第二要素:寻找递归结束条件(我们需要找出当参数为啥时,递归结束,之后直接把结果返回,请注意,这个时候我们必须能根据这个参数的值,能够直接知道函数的结果是什么 阅读全文
posted @ 2021-07-16 11:12 for_ward 阅读(117) 评论(0) 推荐(0)
摘要:1.String.valueOf和Arrays.toString的区别在于:Arrays.toString会得到多余的【】,而String.valueOf得到的就是数组的全部内容 2.java是通过类来实现链表的 3.使用Arrays.binarysearch会出现负数 4.LinkedList实现 阅读全文
posted @ 2021-07-14 20:51 for_ward 阅读(99) 评论(0) 推荐(0)
摘要:题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 解法一:双指针 思路:先扫描原数组中的空格,计算出最终字符串的长度,再从后往前利用双指针进行复制和赋值操作 代码: class Solution { public String replaceSpace(String s) { if 阅读全文
posted @ 2021-07-14 11:29 for_ward 阅读(37) 评论(0) 推荐(0)
摘要:题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解法:举例子 思路:从右上角元素开始,若target>flag,剔除flag所在行,若target<fl 阅读全文
posted @ 2021-07-12 16:12 for_ward 阅读(36) 评论(0) 推荐(0)