摘要: 题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 思路1:stack2模拟队列的输出顺序,插入元素前,将保留先前的元素的 阅读全文
posted @ 2021-07-21 10:53 for_ward 阅读(29) 评论(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 阅读(50) 评论(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 阅读(25) 评论(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 阅读(31) 评论(0) 推荐(0)
摘要: 题目:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 解法:分治思想 思路:因为前序遍历和中序遍历的数组可以表示一棵树,通过分别给定左子树和右子树前序遍历、中序遍历的数组范围,就可以建立左子树和右子树。只要我们在中序遍历中 阅读全文
posted @ 2021-07-19 11:09 for_ward 阅读(27) 评论(0) 推荐(0)
摘要: 1.递归三要素 第一要素:明确你这个函数想要干什么(如:算 n 的阶乘) // 算 n 的阶乘(假设n不为0) int f(int n){ } 第二要素:寻找递归结束条件(我们需要找出当参数为啥时,递归结束,之后直接把结果返回,请注意,这个时候我们必须能根据这个参数的值,能够直接知道函数的结果是什么 阅读全文
posted @ 2021-07-16 11:12 for_ward 阅读(103) 评论(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 阅读(90) 评论(0) 推荐(0)
摘要: 题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 解法一:双指针 思路:先扫描原数组中的空格,计算出最终字符串的长度,再从后往前利用双指针进行复制和赋值操作 代码: class Solution { public String replaceSpace(String s) { if 阅读全文
posted @ 2021-07-14 11:29 for_ward 阅读(30) 评论(0) 推荐(0)
摘要: 题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解法:举例子 思路:从右上角元素开始,若target>flag,剔除flag所在行,若target<fl 阅读全文
posted @ 2021-07-12 16:12 for_ward 阅读(27) 评论(0) 推荐(0)
摘要: 题目:给你一个字符串 s,它仅由字母 'a' 和 'b' 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。 思路:字符串是空串返回0,字符串本身就是回文串则返回1,剩下的情况都可以先删除所有的a再删除所有的b,即删除次数为2 代码: 阅读全文
posted @ 2021-01-21 10:45 for_ward 阅读(110) 评论(0) 推荐(0)