算法
爱吃肉的小猿人
这个作者很懒,什么都没留下…
展开
-
每日一题:给定两个二叉树,编写一个函数来检验它们是否相同
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。链接:https://leetcode-cn.com/problems/same-tree思路:如果两个节点都为空说明节点相同两个节点一个为空一个不为空说明不相同直接返回false两个节点的值不一样返回false最后递归比较左/右两个节点的值是否相同 if(p == null && q == null){ return true; }else if(p原创 2020-08-07 10:35:57 · 337 阅读 · 0 评论 -
每日一题:串联所有单词的子串
给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。示例 1:输入:s = “barfoothefoobarman”,words = [“foo”,“bar”]输出:[0,9]解释:从索引 0 和 9 开始的子串分别是 “barfoo” 和 “foobar” 。输出的顺序不重要, [9,0] 也是有效答案。链原创 2020-08-05 15:02:05 · 162 阅读 · 0 评论 -
每日一题:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。链接:https://leetcode-cn.com/problems/add-strings思路:把两个字符串转换成竖式,从低到高逐位相加,如果当前位和超过 1010,则向高位进一位虽然我代码写的烂原创 2020-08-03 11:16:26 · 3354 阅读 · 0 评论 -
把二叉搜索数转换成累加树
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。链接:https://leetcode-cn.com/problems/convert-bst-to-greater-tree递归写法思路:因为二叉搜索树的左子树<根<右子树的性质,按right-root-left的顺序遍历很容易求出累加和public class Algorithm538 { private int原创 2020-07-30 11:27:42 · 137 阅读 · 0 评论