leecode刷
记录下刷leetcode
JACKPENG.
stay hungry,stay foolish!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode:#450. 删除二叉搜索树中的节点
leetcode:#450. 删除二叉搜索树中的节点 题目详情 采用Java实现 class Solution { public TreeNode deleteNode(TreeNode root, int key) { TreeNode deletedNode = root; TreeNode deletedParentNode = null; while (deletedNode != null && deletedNode.val原创 2021-05-26 22:50:32 · 228 阅读 · 0 评论 -
leetcode:#153. 寻找旋转排序数组中的最小值
leetcode:#153. 寻找旋转排序数组中的最小值 题目详情 采用Java实现。 二分法 class Solution { public int findMin(int[] nums) { int left = 0; int right = nums.length - 1; while (left < right) { int mid = (left + right) / 2; if (num原创 2021-05-24 16:21:15 · 223 阅读 · 0 评论 -
leetcode:#162. 寻找峰值
leetcode:#162. 寻找峰值 题目详情 采用Java实现。 二分法 class Solution { public int findPeakElement(int[] nums) { int left = 0; int right = nums.length - 1; while (left < right) { int mid = (left + right) / 2; if (num原创 2021-05-24 15:48:11 · 197 阅读 · 0 评论 -
leetcode:#148. 排序链表
leetcode:#148. 排序链表 题目详情 采用Java实现。 熟悉合并两个有序链表,断链操作,dummyHead class Solution { public ListNode sortList(ListNode head) { ListNode dummyHead = new ListNode(); dummyHead.next = head; int length = calculateListLength(dummyHead);原创 2021-05-19 21:44:29 · 175 阅读 · 0 评论 -
面试题 08.06. 汉诺塔问题
面试题 08.06. 汉诺塔问题 题目详情 主要考察递归 采用Java实现。 class Solution { public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) { move(A.size(), A, B, C); } private void move(int count, List<Integer> source, List&原创 2021-04-20 21:52:44 · 161 阅读 · 0 评论 -
面试题 03.06. 动物收容所
面试题 03.06. 动物收容所 题目详情 采用Java实现。 class AnimalShelf { public static final int[] ERROR_RESPONSE = {-1, -1}; private Queue<Integer> cat; private Queue<Integer> dog; public AnimalShelf() { cat = new LinkedList<>();原创 2021-04-18 23:52:04 · 167 阅读 · 0 评论 -
leetcode:#42. 接雨水
leetcode:#42. 接雨水 题目详情 采用Java实现,构建一个单调递增栈。 class Solution { public int trap(int[] height) { Stack<Integer> stack = new Stack<>(); int result = 0; for (int i = 0; i < height.length; i++) { while (!stac原创 2021-04-18 23:16:01 · 154 阅读 · 0 评论 -
leetcode:#59 - I. 滑动窗口的最大值
leetcode:#59 - I. 滑动窗口的最大值 题目详情 采用Java实现 class Solution { public int[] maxSlidingWindow(int[] nums, int k) { if (nums == null || nums.length == 0) { return new int[0]; } int numsLength = nums.length; int[] ma原创 2021-04-18 13:16:06 · 126 阅读 · 0 评论 -
leetcode:#59 - II. 队列的最大值
leetcode:#59 - II. 队列的最大值 题目详情 采用Java实现 class MaxQueue { Queue<Integer> queue; ArrayDeque<Integer> help; // 维护一个增队列保存最大值(不是单调的,有值可能相等) public MaxQueue() { queue = new LinkedList<>(); help = new ArrayDeque<&原创 2021-04-18 12:02:50 · 157 阅读 · 0 评论 -
leetcode:#739 每日温度
leetcode:#739 每日温度 题目详情 采用Java实现。 方法一 最容易想到的解题思路: public class Solution { public int[] dailyTemperatures(int[] T) { int[] result = new int[T.length]; for (int i = 0; i < T.length; i++) { for (int j = i + 1; j < T.leng原创 2021-03-28 22:37:58 · 153 阅读 · 0 评论 -
面试题 16.26. 计算器
面试题 16.26. 计算器 题目详情 方法一 维护两个栈,其中一个用来存储操作数,另外一个栈用来存储运算符。遍历字符串,如果是数字,那么直接入操作数栈,如果是操作符,就和运算符栈的栈顶元素比较:当运算符的优先级高于运算符栈的栈顶元素——直接入栈;否则取出运算符栈栈顶元素还有操作符栈栈顶两个元素,进行运算,将运算结果再入运算符栈;继续比较直到当前操作符入栈。 public class CalculatorByTwoStack { private static final char ADD = '+原创 2021-03-27 23:32:11 · 193 阅读 · 0 评论 -
leetcode:#206 反转链表
leetcode:206.反转链表 题目详情 java实现 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val =原创 2021-03-18 23:23:30 · 163 阅读 · 0 评论 -
leetcode: #2 两数相加
leetcode: 两数相加 题目描述 java实现 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val原创 2021-03-18 22:56:27 · 158 阅读 · 0 评论
分享