leetcode
GO!!!
奋斗的小白
展开
-
LeetCode.700.二叉搜索树——java
二叉搜索树:题目描述:解法一:迭代法——广度优先搜索解法二:递归法——深度优先搜索:递归返回值的问题:原创 2022-06-27 10:16:15 · 282 阅读 · 0 评论 -
LeetCode617.合并二叉树——————java
题目描述:解法一——迭代法:广度优先搜索解法二——深度优先搜索:递归法原创 2022-06-25 10:38:49 · 237 阅读 · 0 评论 -
LeetCode654.最大二叉树——java
题目描述:深度优先搜索——递归法:原创 2022-06-24 09:47:42 · 142 阅读 · 0 评论 -
LeetCode105.从前序与中序遍历构造二叉树————java
题目描述:代码如下原创 2022-06-22 14:17:31 · 72 阅读 · 0 评论 -
LeetCode106.从中序与后序构造树————java
题目描述:深度优先搜索————递归法原创 2022-06-22 12:59:46 · 141 阅读 · 0 评论 -
LeetCode113.路径总和||——java
题目描述:深度优先搜索——递归法原创 2022-06-21 21:43:11 · 141 阅读 · 0 评论 -
LeetCode112.路径总和——————java
题目描述:给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。示例 1:解法一:广度优先搜索——迭代法解法二:深度优先搜索——递归法:...原创 2022-06-21 21:02:45 · 82 阅读 · 0 评论 -
LeetCode513.找树左下角的值——————java
题目描述:解法一:层序遍历求解法二:深度优先遍历——递归法原创 2022-06-19 16:01:53 · 135 阅读 · 0 评论 -
Leetcode572.另一棵树的子树
题目描述:解法一:深度优先搜索(递归法)原创 2022-06-19 15:24:21 · 72 阅读 · 0 评论 -
LeetCode100.相同的树——————java
题目描述:迭代法:递归法:原创 2022-06-15 11:05:12 · 75 阅读 · 0 评论 -
LeetCode404.左叶子树之和————————java
题目描述:解法一:迭代遍历+判断解法二:递归法:原创 2022-06-15 10:37:42 · 106 阅读 · 0 评论 -
LeetCode257.二叉树的路径————java
题目描述:迭代法:递归法:原创 2022-06-12 15:53:28 · 104 阅读 · 0 评论 -
LeetCode110.平衡二叉树——java
题目描述:迭代法:递归法:实现递归的基本思路(与求二叉树最大深度为例)原创 2022-06-12 12:04:10 · 111 阅读 · 0 评论 -
LeetCode559.N叉树的最大深度——java
题目描述:解法如下:原创 2022-06-07 11:14:13 · 114 阅读 · 0 评论 -
LeetCode101.对称二叉树——java
题目描述:三种方法代码如下:原创 2022-06-07 10:45:02 · 96 阅读 · 0 评论 -
LeetCode226.翻转二叉树——java
题目描述:解法一:递归法(DFS):解法二:迭代法(BFS)原创 2022-06-06 12:11:28 · 108 阅读 · 0 评论 -
111.LeetCode二叉树的最小深度——java
题目描述:代码如下:原创 2022-06-06 11:53:16 · 80 阅读 · 0 评论 -
104.Leetcode二叉树的最大深度——java
题目描述:代码如下:原创 2022-06-06 11:43:16 · 84 阅读 · 0 评论 -
LeetCode116.填充每个节点的下一个右侧节点指针同117进阶题——java
题目描述:代码如下:原创 2022-06-06 11:34:42 · 57 阅读 · 0 评论 -
LeetCode515.在每个树行中找最大值——java
题目描述:代码如下:原创 2022-06-06 11:21:05 · 83 阅读 · 0 评论 -
LeetCode429.N叉树的层序遍历——Java
题目描述:代码如下:原创 2022-06-06 11:15:41 · 71 阅读 · 0 评论 -
637.LeetCode二叉树的层平均值——java
题目描述:代码如下:原创 2022-06-06 11:01:44 · 67 阅读 · 0 评论 -
199.二叉树的右视图————java
题目描述:代码如下:原创 2022-06-05 12:06:06 · 131 阅读 · 0 评论 -
107.LeetCode二叉树的层序遍历||——java
题目描述:代码如下:原创 2022-06-05 11:37:05 · 52 阅读 · 0 评论 -
101.LeetCode二叉树的层序遍历——java
题目描述:递归法:迭代法:原创 2022-06-05 11:22:18 · 94 阅读 · 0 评论 -
(144,145,94)LeetCode树的前中后序遍历——java(迭代法)
前序遍历:中序遍历:后序遍历:原创 2022-06-02 10:01:24 · 150 阅读 · 2 评论 -
(144,145,94)leetcode题树的遍历(递归法)——java
树的前序遍历:树的中序遍历:树的后序遍历:原创 2022-06-02 09:24:53 · 61 阅读 · 0 评论 -
LeetCode71.简化路径——————-java
题目描述:给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,‘//’)都被视为单个斜杠 ‘/’ 。对于此问题,任何其他格式的点(例如,‘…’)均被视为文件/目录名称。请注意,返回的 规范路径 必须遵循下述格式:始终以斜杠 ‘/’ 开原创 2022-05-29 11:29:47 · 61 阅读 · 0 评论 -
LeetCode347.前K个高频元素——Java
题目描述:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2:输入: nums = [1], k = 1 输出: [1]解法如下:class Solution { public int[] topKFrequent(int[] nums, int k) { int [] result=new原创 2022-05-28 11:20:50 · 148 阅读 · 0 评论 -
LeetCode239.滑动窗口最大值————————java
题目描述:给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3 输出:[3,3,5,5,6,7] 解释: 滑动窗口的位置最大值--------------- ----- [1 3 -1] -3 5 3 6 7 3 1 [3 -原创 2022-05-27 14:59:50 · 79 阅读 · 0 评论 -
LeetCode150.逆波兰表达式求值——java
题目描述:示例 1:输入:tokens = [“2”,“1”,“+”,“3”,“*”] 输出:9 解释:该算式转化为常见的中缀算术表达式为:((2 + 1) *3) = 9 示例 2:输入:tokens = [“4”,“13”,“5”,“/”,“+”] 输出:6 解释:该算式转化为常见的中缀算术表达式为:(4 + (13/ 5)) = 6 示例 3:输入:tokens = [“10”,“6”,“9”,“3”,“+”,“-11”,““,”/“,””,“17”,“+”,“5”,“+”]输出:22原创 2022-05-26 21:20:05 · 930 阅读 · 0 评论 -
LeetCode.1047删除字符串中的所有相邻重复项————————java
题目描述:给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:“abbaca” 输出:“ca” 解释: 例如,在 “abbaca” 中,我们可以删除 “bb”由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 “aaca”,其中又只有 “aa”可以执行重复项删除操作,所以最后的字符串为 “ca”。解法一:栈原创 2022-05-24 10:58:04 · 138 阅读 · 0 评论 -
LeetCode20.有效的括号——java
题目描述:给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = “()” 输出:true 示例 2:输入:s = “()[]{}” 输出:true 示例 3:输入:s = “(]” 输出:false 示例 4:输入:s = “([)]” 输出:false 示例 5:输入:s = “{[]}” 输出:true代码描述:class So原创 2022-05-22 11:58:16 · 837 阅读 · 0 评论 -
LeetCode255.用队列实现栈——java
题目描述:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、s原创 2022-05-22 10:18:19 · 140 阅读 · 2 评论 -
232.用栈实现队列
题目描述:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek()返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 说明:你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top,原创 2022-05-21 15:19:53 · 61 阅读 · 2 评论 -
leetcode02.07.链表相交——奇妙的题目
题目链接:链表相交代码随想录思路链接:思路链接注:相交点不在于所在节点值相等而在于其地址相等代码如下:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *hea.原创 2022-04-17 11:59:44 · 730 阅读 · 0 评论 -
LeetCode27.移除元素
题目描述:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷原创 2022-05-08 15:45:50 · 51 阅读 · 0 评论 -
LeetCode459.重复的子字符串
题目描述:给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。示例 1:输入: s = “abab” 输出: true 解释: 可由子串 “ab” 重复两次构成。 示例 2:输入: s = “aba” 输出: false 示例 3:输入: s = “abcabcabcabc” 输出: true 解释: 可由子串 “abc” 重复四次构成。 (或子串 “abcabc”重复两次构成。)解法一:codeing一、class Solution { public bo原创 2022-05-08 10:59:06 · 141 阅读 · 0 评论 -
LeetCode28.实现strStr()
题目描述:实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf()定义相符。示例 1:输入:haystack =原创 2022-05-07 11:24:30 · 279 阅读 · 0 评论 -
LeetCode58-||左旋字符串
题目描述:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2 输出: “cdefgab” 示例 2:输入: s = “lrloseumgh”, k = 6 输出: “umghlrlose”简单解法:一、:class Solution { public String revers原创 2022-05-07 10:35:04 · 122 阅读 · 0 评论