随笔分类 -  算法

摘要:题目地址: 首个共同祖先 题目描述 设计并实现一个算法,找出二叉树中某两个节点的第一个共同祖先。不得将其他的节点存储在另外的数据结构中。注意:这不一定是二叉搜索树。 例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] 示例 解题思路: 本题主要是考虑两个 阅读全文
posted @ 2022-09-19 16:30 卖萌实习生 阅读(66) 评论(0) 推荐(0)
摘要:题目地址: 最小高度树 题目描述 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。 示例 解题思路: 创建一棵高度最小的二叉搜索树,也就是首先是一个二叉搜索树, 二叉搜索树的特点是节点左边子树的值比节点值小,右边子树的值比节点的值大 其实要是一个高度最小的 阅读全文
posted @ 2022-09-14 11:40 卖萌实习生 阅读(69) 评论(0) 推荐(0)
摘要:题目 栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。 示例1 输入: ["SortedStack", "push 阅读全文
posted @ 2022-09-12 15:50 卖萌实习生 阅读(176) 评论(0) 推荐(0)
摘要:题目描述 实现一个MyQueue类,该类用两个栈来实现一个队列。 MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); // 返回 1 queue.pop(); // 返回 1 queue.empty() 阅读全文
posted @ 2022-09-12 15:09 卖萌实习生 阅读(50) 评论(0) 推荐(0)