摘要: 一、题目 输入:root = [1,2,3,4,5,6] 输出:6 二、解法 一般的做法是用bfs或dfs遍历节点,时间和空间复杂度是O(n)。 要利用完全二叉树这个性质,首先求出树的层数level(root是0层),然后二分查找,判断最高层节点是否存在。 /** * Definition for 阅读全文
posted @ 2022-02-13 16:51 livingsu 阅读(27) 评论(0) 推荐(0)
摘要: 一、题目 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 输入:root = [2,null,3,null,4,null,5,null,6] 输出:5 二、解法 递归: /** * Definition for a b 阅读全文
posted @ 2022-02-13 11:36 livingsu 阅读(28) 评论(0) 推荐(0)
摘要: 后序遍历:左右中,和前序遍历(中左右)只差了一点,只需调整结果顺序和左右节点入栈顺序即可。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNod 阅读全文
posted @ 2022-02-08 16:30 livingsu 阅读(35) 评论(0) 推荐(0)
摘要: 思路:用两个队列,先放到s2中,然后把s1的全部放入s2中,再将s1和s2进行交换即可。 class MyStack { Deque<Integer> s1=new ArrayDeque<>(); Deque<Integer> s2=new ArrayDeque<>(); public MyStac 阅读全文
posted @ 2022-02-08 10:58 livingsu 阅读(39) 评论(0) 推荐(0)
摘要: 一、题目 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 输入: s = "abcdefg", k = 2 输出: "cdefgab 阅读全文
posted @ 2022-02-08 09:43 livingsu 阅读(29) 评论(0) 推荐(0)
摘要: 一、题目 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e 阅读全文
posted @ 2022-02-07 21:09 livingsu 阅读(22) 评论(0) 推荐(0)
摘要: 一、题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 3: 输入:head = [7,7,7,7], val = 7 输出:[] 二、解法 /** * Definition for singly- 阅读全文
posted @ 2022-02-07 16:31 livingsu 阅读(32) 评论(0) 推荐(0)
摘要: 一、题目 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例: 输入:"abbaca" 输出:"ca" 解释: 例如,在 "abbaca" 中, 阅读全文
posted @ 2022-01-21 12:44 livingsu 阅读(32) 评论(0) 推荐(0)
摘要: Java数据结构比Go多,很多数据结构(如优先级队列)Go都需要自己手写。所以使用一段时间Go后,刷题又转为Java了。 1. 基本库类 Integer最大值最小值: Integer.MAX_VALUE Integer.MIN_VALUE Math类: Math.max(),Math.min() 数 阅读全文
posted @ 2022-01-21 12:13 livingsu 阅读(56) 评论(0) 推荐(0)
摘要: 一、题目 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()" 输出:true 二、解法 go: func isValid(s s 阅读全文
posted @ 2022-01-18 15:57 livingsu 阅读(32) 评论(0) 推荐(0)