![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
GitKid
欢迎关注微信公众号:GitKid,分享leetcode算法题解。
展开
-
LeetCode每日一题--134. 加油站(Java)
DailyChallenge134. 加油站Medium20201118Description在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。原创 2020-11-18 21:27:03 · 309 阅读 · 0 评论 -
LeetCode第215场周赛20201115(Java)
第 215 场周赛202011151656. 设计有序流题目描述1有 n 个 (id, value) 对,其中 id 是 1 到 n 之间的一个整数,value 是一个字符串。不存在 id 相同的两个 (id, value) 对。设计一个流,以 任意 顺序获取 n 个 (id, value) 对,并在多次调用时 按 id 递增的顺序 返回一些值。实现 OrderedStream 类:OrderedStream(int n) 构造一个能接收 n 个值的流,并将当前指针 ptr 设为 1 。St原创 2020-11-18 21:24:29 · 367 阅读 · 0 评论 -
[算法]LeetCode 专题 -- 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置
LeetCode 专题 – 二分查找专题34. 在排序数组中查找元素的第一个和最后一个位置难度:中等题目描述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8,8,10], t原创 2020-11-11 23:02:02 · 522 阅读 · 0 评论 -
[算法]LeetCode 专题 -- 二分查找专题 33. 搜索旋转排序数组
LeetCode 专题 – 二分查找专题33. 搜索旋转排序数组难度:中等题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2], target = 0输出:原创 2020-10-21 22:09:50 · 104 阅读 · 0 评论 -
[算法]LeetCode 专题 -- 二分查找专题(Java)
LeetCode 专题 – 二分查找专题题目 33搜索旋转排序数组 34在排序数组中查找元素的第一个和最后一个位置 35搜索插入位置 69x的平方根 74搜索二维矩阵 153寻找旋转排序数组中的最小值 162寻找峰值 275H指数II 278第一个错误的版本 287寻找重复数二分查找总结大白话:统一模板,刷题运用二分查找、堆、二叉树的操作时间复杂度都是O(logn),有时甚至比O(1)的算法还要高效。二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都原创 2020-10-18 22:19:56 · 270 阅读 · 0 评论 -
LeetCode每日一题--104. 二叉树的最大深度(Java)
DailyChallenge104. 二叉树的最大深度Easy20200728Description给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。链接:https://leetcode-cn.com/problems/原创 2020-07-28 22:24:48 · 198 阅读 · 0 评论 -
[算法]LeetCode每日一题--392. 判断子序列(Java)
DailyChallenge392. 判断子序列Easy20200727Description给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 1:s = "abc",原创 2020-07-27 22:26:44 · 574 阅读 · 0 评论 -
[算法]LeetCode每日一题--64. 最小路径和(Java)
DailyChallenge64. 最小路径和20200723难度:中等题目描述给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。链接:https://leetcode-cn.com/problems/minimum-path-sumSolution原创 2020-07-23 22:26:21 · 245 阅读 · 0 评论 -
[算法]LeetCode每日一题--剑指 Offer 11. 旋转数组的最小数字(Java)
DailyChallenge剑指 Offer 11. 旋转数组的最小数字Easy20200722Description把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0链接:https://leetcode-cn原创 2020-07-22 11:58:50 · 176 阅读 · 0 评论 -
[算法]167. 两数之和 II - 输入有序数组
DailyChallenge167. 两数之和 II - 输入有序数组Easy20200720Description给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11,原创 2020-07-20 16:33:01 · 224 阅读 · 0 评论 -
[算法]LeetCode每日一题--312. 戳气球(Java)
DailyChallenge312. 戳气球Hard20200719题目描述有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。如果你戳破气球 i ,就可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破原创 2020-07-19 21:09:10 · 455 阅读 · 0 评论 -
[算法]LeetCode每日一题--35. 搜索插入位置(Java)
DailyChallenge35. 搜索插入位置20200717难度:简单题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0Solu原创 2020-07-17 11:03:03 · 195 阅读 · 0 评论 -
[算法]LeetCode每日一题--96. 不同的二叉搜索树(Java)
DailyChallenge96. 不同的二叉搜索树20200715难度:中等题目描述给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / /原创 2020-07-15 19:00:52 · 280 阅读 · 0 评论 -
[算法]LeetCode每日一题--120. 三角形最小路径和(Java)
DailyChallenge120. 三角形最小路径和Medium20200714Description给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你原创 2020-07-14 10:42:33 · 214 阅读 · 0 评论 -
[算法]LeetCode每日一题--350. 两个数组的交集 II(Java)
DailyChallenge350. 两个数组的交集 IIEasy20200713题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。进阶:如果给定的数组原创 2020-07-13 15:01:33 · 320 阅读 · 0 评论 -
[算法]LeetCode每日一题--174. 地下城游戏(Java)
DailyChallenge174. 地下城游戏Hard20200712Description一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间原创 2020-07-12 13:57:36 · 329 阅读 · 0 评论 -
LeetCode每日一题--面试题16.18. 模式匹配(Java)
面试题 17.13. 恢复空格20200709难度:中等题目描述哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识原创 2020-07-09 15:30:06 · 221 阅读 · 0 评论 -
[算法]LeetCode每日一题--面试题 16.18. 模式匹配(Java)
DailyChallenge面试题 16.18. 模式匹配Easy20200708Description你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例:输入:shorter = 1longer = 2k = 3输出: {3,4,5,6}提示:0 < shorter <= longer0 &l原创 2020-07-08 09:22:12 · 173 阅读 · 0 评论 -
[算法]LeetCode每日一题--112. 路径总和(Java)
DailyChallenge112. 路径总和Easy20200707Description给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \原创 2020-07-07 21:51:41 · 200 阅读 · 0 评论 -
[算法]LeetCode每日一题--63.不同路径 II(Java)
DailyChallenge63. 不同路径 II20200706难度:中等题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[ [0,0,0], [0,1,0原创 2020-07-06 10:34:53 · 307 阅读 · 0 评论 -
[算法]LeetCode每日一题--44. 通配符匹配(Java)
DailyChallenge44. 通配符匹配20200705难度:困难题目描述给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。‘?’ 可以匹配任何单个字符。‘*’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例 1:输入:s = "aa"p = "a"输出: false解原创 2020-07-05 15:38:59 · 252 阅读 · 0 评论 -
LeetCode每日一题--32. 最长有效括号(Java)
DailyChallenge32. 最长有效括号20200704难度:困难题目描述给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"Solution栈class Solution { public int longestValidParentheses(String s)原创 2020-07-04 16:44:09 · 184 阅读 · 0 评论 -
[算法]LeetCode每日一题--108. 将有序数组转换为二叉搜索树(Java)
DailyChallenge108. 将有序数组转换为二叉搜索树Easy20200703Description将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。Solution中序遍历构造二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode原创 2020-07-03 22:13:04 · 168 阅读 · 0 评论 -
[算法]LeetCode每日一题--378. 有序矩阵中第K小的元素(Java)
第194场周赛378. 有序矩阵中第K小的元素20200702难度:中等题目描述给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。提示:你可以假设 k 的值永远是有效的,1 ≤ k ≤ n2。Solution第k小,原创 2020-07-02 14:28:30 · 196 阅读 · 0 评论 -
[算法]LeetCode每日一题--718. 最长重复子数组(Java)
DailyChallenge718. 最长重复子数组Medium20200701Description给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出:3解释:长度最长的公共子数组是 [3, 2, 1] 。提示:1 <= len(A), len(B) <= 10000 <= A[i], B[i] < 100链接:https://leetcode原创 2020-07-01 18:50:38 · 804 阅读 · 0 评论 -
[算法]LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)
DailyChallenge剑指 Offer 09. 用两个栈实现队列Easy20200630Description用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[nu原创 2020-06-30 09:38:46 · 150 阅读 · 0 评论 -
[算法]*LeetCode每日一题--215. 数组中的第K个最大元素(Java)
DailyChallenge215. 数组中的第K个最大元素Medium20200629Description在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。Solution基原创 2020-06-29 17:12:16 · 159 阅读 · 0 评论 -
[算法]LeetCode每日一题--209长度最小的子数组(Java)
DailyChallenge209. 长度最小的子数组20200628难度:中等题目描述给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法原创 2020-06-28 22:19:12 · 220 阅读 · 0 评论 -
[算法]LeetCode每日一题--41. 缺失的第一个正数(Java)
DailyChallenge41. 缺失的第一个正数20200627难度:困难题目描述给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。Solution首先想到的是哈希表,但是不满足空间要求。如果数组中有≤0的数和>n的数,那么1到n中一定原创 2020-06-27 14:05:02 · 529 阅读 · 0 评论 -
[算法]LeetCode第194场周赛202006021
第194场周赛202006211486. 数组异或操作题目描述1给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。示例 1:输入:n = 5, start = 0输出:8解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8 。 "^" 为按位异或 XO原创 2020-06-26 12:38:26 · 187 阅读 · 0 评论 -
[算法]LeetCode每日一题--面试题 02.01.移除重复节点(Java)
DailyChallenge面试题 02.01. 移除重复节点20200626难度:简单题目描述编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2]提示:链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。进阶:如果不得使用临时缓冲区,该怎么解决?Solution方法一:HashSet/*原创 2020-06-26 11:06:07 · 241 阅读 · 0 评论 -
[算法]LeetCode每日一题--139单词拆分(Java)
DailyChallenge139. 单词拆分Medium20200625题目描述给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet cod原创 2020-06-25 13:40:53 · 274 阅读 · 0 评论 -
[算法]LeetCode每日一题--16最接近的三数之和(Java)
DailyChallenge16. 最接近的三数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示:3 <= nums.length <= 10^3-10^3 <= n原创 2020-06-24 10:52:05 · 462 阅读 · 0 评论 -
[算法]LeetCode每日一题--67二进制求和(Java)
DailyChallenge67. 二进制求和Easy20200623Description给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"提示:每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。1 <= a.length, b.length <= 10^4字符原创 2020-06-23 17:05:32 · 265 阅读 · 0 评论 -
[算法]LeetCode每日一题--面试题 16.18. 模式匹配(Java)
DailyChallenge面试题 16.18. 模式匹配Medium20200622Description你有两个字符串,即pattern和value。 pattern字符串由字母"a"和"b"组成,用于描述字符串中的模式。例如,字符串"catcatgocatgo"匹配模式"aabab"(其中"cat"是"a",“go"是"b”),该字符串也匹配像"a"、"ab"和"b"这样的模式。但需注意"a"和"b"不能同时表示相同的字符串。编写一个方法判断value字符串是否匹配pattern字符串。示例原创 2020-06-22 16:49:09 · 247 阅读 · 0 评论 -
[算法]LeetCode每日一题--124. 二叉树中的最大路径和(Java)
DailyChallenge124. 二叉树中的最大路径和Hard20200621Description给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [-10,9,20,null,null,15,7]输出: 42链接:https://leetcode-cn.com/problems/binary-tree-maximum-pa原创 2020-06-22 16:44:04 · 233 阅读 · 0 评论 -
[算法]LeetCode每日一题--10. 正则表达式匹配(Java)
DailyChallenge10. 正则表达式匹配Hard20200620Description给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = "aa"p =原创 2020-06-20 17:28:31 · 267 阅读 · 0 评论 -
[算法]LeetCode第193场周赛202006014
第193场周赛202006141480. 一维数组的动态和难度:简单题目描述1给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i])。请返回 nums的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。示例 2:输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程原创 2020-06-19 22:53:45 · 213 阅读 · 0 评论 -
[算法]LeetCode每日一题--125. 验证回文串(Java)
DailyChallenge125. 验证回文串Easy20200619Description给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false链接:https://leetcode-cn.com/problems/valid-palindrome原创 2020-06-19 22:48:06 · 179 阅读 · 0 评论 -
[算法]LeetCode每日一题--1028. 从先序遍历还原二叉树(Java)
DailyChallenge1028. 从先序遍历还原二叉树Hard20200618题目描述我们从二叉树的根节点 root 开始进行深度优先搜索。在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。如果节点只有一个子节点,那么保证该子节点为左子节点。给出遍历输出 S,还原树并返回其根节点 root。示例 1:输入:"1-2--3--4-5--6--7"输出:[1,2原创 2020-06-18 18:14:23 · 184 阅读 · 0 评论