LeetCode刷题篇
mind_programmonkey
好久没上线了~,有问题私信哈,每周末尽量抽时间回答问题哈
展开
-
【Leetcode刷题篇】- Leetcode45 跳跃游戏II
【Leetcode刷题篇】- Leetcode45 跳跃游戏II给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。 示例 1:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。```javaclass原创 2021-05-23 20:35:46 · 192 阅读 · 1 评论 -
【Leetcode刷题篇】- Leetcode括号(有效括号、括号生成、最长有效括号)
【Leetcode刷题篇】- Leetcode括号(有效括号、括号生成、最长有效括号)括号有效的括号最长的有效括号有效的 括号字符串使括号有效的最少添加有效括号的嵌套深度反转每对括号间的子串1.Leetcode 面试题08.09 括号括号。设计一种算法,打印n对括号的所有合法的(例如,开闭一一对应)组合。说明:解集不能包含重复的子集。例如,给出 n = 3,生成结果为:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]【解原创 2021-07-03 20:05:41 · 619 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetocde1472 设计游览器历史记录
你有一个只支持单个标签页的 浏览器 ,最开始你浏览的网页是 homepage ,你可以访问其他的网站 url ,也可以在浏览历史中后退 steps 步或前进 steps 步。请你实现 BrowserHistory 类:BrowserHistory(string homepage) ,用 homepage 初始化浏览器类。void visit(string url) 从当前页跳转访问 url 对应的页面 。执行此操作会把浏览历史前进的记录全部删除。string back(int steps) 在浏览原创 2021-06-25 20:05:45 · 254 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode95 不同的二叉搜索树II
给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。示例 1:输入:n = 3输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]示例 2:输入:n = 1输出:[[1]]/** * Definition for a binary tree node. * public class TreeNode { *原创 2021-06-25 21:26:35 · 252 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode331 验证二叉树的前序序列化
序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_/ \3 2/ \ / 4 1 # 6/ \ / \ / \# # # #例如,上面的二叉树可以被序列化为字符串 “9,3,4,#,#,1,#,#,2,#,6,#,#”,其中 # 代表一个空节点。给定一串以逗号分隔的序列,验证它是否是正确的二叉树的前序序列化。编写一个在不重构树的条件下的可行算法。每原创 2021-06-26 10:29:20 · 187 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode211 添加与搜索单词-数据结构设计
请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。实现词典类 WordDictionary :WordDictionary() 初始化词典对象void addWord(word) 将 word 添加到数据结构中,之后可以对它进行匹配bool search(word) 如果数据结构中存在字符串与 word 匹配,则返回 true ;否则,返回 false 。word 中可能包含一些 ‘.’ ,每个 . 都可以表示任何一个字母。示例:输入:[“WordDic原创 2021-06-28 15:34:40 · 169 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode1381 设计一个支持增量操作的栈
请你设计一个支持下述操作的栈。实现自定义栈类 CustomStack :CustomStack(int maxSize):用 maxSize 初始化对象,maxSize 是栈中最多能容纳的元素数量,栈在增长到 maxSize 之后则不支持 push 操作。void push(int x):如果栈还未增长到 maxSize ,就将 x 添加到栈顶。int pop():弹出栈顶元素,并返回栈顶的值,或栈为空时返回 -1 。void inc(int k, int val):栈底的 k 个元素的值都增加原创 2021-06-27 14:44:57 · 179 阅读 · 0 评论 -
【Leetcode刷题篇】-Leetcode面试题03.05 栈排序
栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。示例1:输入:[“SortedStack”, “push”, “push”, “peek”, “pop”, “peek”][[], [1], [2], [], [], []]输出:[null,null,null,1,null,2]示例2:输入:[“Sorted原创 2021-06-27 14:43:55 · 227 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetocde946 验证栈序列
给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3), push(4), pop() -> 4,push(5), pop() -> 5, pop(原创 2021-06-27 14:43:04 · 163 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode382 链表随机节点
给定一个单链表,随机选择链表的一个节点,并返回相应的节点值。保证每个节点被选的概率一样。进阶:如果链表十分大且长度未知,如何解决这个问题?你能否使用常数级空间复杂度实现?示例:// 初始化一个单链表 [1,2,3].ListNode head = new ListNode(1);head.next = new ListNode(2);head.next.next = new ListNode(3);Solution solution = new Solution(head);// getR原创 2021-06-25 20:20:53 · 160 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode706 设计哈希映射
不使用任何内建的哈希表库设计一个哈希映射(HashMap)。实现 MyHashMap 类:MyHashMap() 用空映射初始化对象void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新其对应的值 value 。int get(int key) 返回特定的 key 所映射的 value ;如果映射中不包含 key 的映射,返回 -1 。void remove(key) 如果映射中存在 key原创 2021-06-25 19:51:45 · 203 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode705 设计哈希集合
不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现 MyHashSet 类:void add(key) 向哈希集合中插入值 key 。bool contains(key) 返回哈希集合中是否存在这个值 key 。void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。示例:输入:[“MyHashSet”, “add”, “add”, “contains”, “contains”, “add”, “contains”, “remo原创 2021-06-25 19:29:13 · 208 阅读 · 0 评论 -
【Leetcode刷题篇】- 数据抽样算法-蓄水池抽样算法(Reservoir Sampling)
一、问题给定一个数据流,数据流长度N很大,且N直到处理完所有数据之前都不可知,请问如何在只遍历一遍数据(O(N))的情况下,能够随机选取出m个不重复的数据。这个场景强调了3件事:数据流长度N很大且不可知,所以不能一次性存入内存。时间复杂度为O(N)。随机选取m个数,每个数被选中的概率为m/N。第1点限制了不能直接取N内的m个随机数,然后按索引取出数据。第2点限制了不能先遍历一遍,然后分块存储数据,再随机选取。第3点是数据选取绝对随机的保证。讲真,在不知道蓄水池算法前,我想破脑袋也不知道该原创 2021-06-25 20:18:28 · 549 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode990 等式方程的可满足性
3.Leetcode990 等式方程的可满足性给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“a==b” 或 “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。示例 1:输入:[“a==b”,“b!=a”]输出:false解释:如果我们指定,a = 1 且 b = 1,那么可以满足第一个方程原创 2021-06-18 20:28:49 · 181 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode1162 地图分析
1.Leetcode1162 地图分析你现在手里有一份大小为 N x N 的 网格 grid,上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的。我们这里说的距离是「曼哈顿距离」( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个单元格之间的距离是 |x0 - x1| + |y0 - y1| 。如果网格上只有陆地或者海洋,请返回 -1。示例 1:输入:[原创 2021-06-18 20:28:11 · 576 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode1631最小体力消耗路径
并查集-1.Leetcode1631 最小体力消耗路径你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一开始你在最左上角的格子 (0, 0) ,且你希望去最右下角的格子 (rows-1, columns-1) (注意下标从 0 开始编号)。你每次可以往 上,下,左,右 四个方向之一移动,你想要找到耗费 体力 最小的一条路径。一条路径耗费的 体力值 是路径上相邻格子之间 高度差绝原创 2021-06-18 20:27:37 · 200 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode797 所有可能的路径
DFS-2.Leetcode797 所有可能的路径给一个有 n 个结点的有向无环图,找到所有从 0 到 n-1 的路径并输出(不要求按顺序)二维数组的第 i 个数组中的单元都表示有向图中 i 号结点所能到达的下一些结点(译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a )空就是没有下一个结点了。示例 1:输入:graph = [[1,2],[3],[3],[]]输出:[[0,1,3],[0,2,3]]解释:有两条路径 0 -> 1 -> 3 和 0 -> 2 -原创 2021-06-18 20:26:58 · 627 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode面试题04.01 节点间通路
DFS-1.Leetcode 面试题04.01 节点间通路节点间通路。给定有向图,设计一个算法,找出两个节点之间是否存在一条路径。示例1:输入:n = 3, graph = [[0, 1], [0, 2], [1, 2], [1, 2]], start = 0, target = 2输出:true示例2:输入:n = 5, graph = [[0, 1], [0, 2], [0, 4], [0, 4], [0, 1], [1, 3], [1, 4], [1, 3], [2, 3], [3, 4]原创 2021-06-18 20:26:16 · 224 阅读 · 0 评论 -
【Leetcode刷题篇】-Leetcode1334 阈值邻居内最少的城市
Floyd-3.Leetcode1334阈值邻居内最少的城市有 n 个城市,按从 0 到 n-1 编号。给你一个边数组 edges,其中 edges[i] = [fromi, toi, weighti] 代表 fromi 和 toi 两个城市之间的双向加权边,距离阈值是一个整数 distanceThreshold。返回能通过某些路径到达其他城市数目最少、且路径距离 最大 为 distanceThreshold 的城市。如果有多个这样的城市,则返回编号最大的城市。注意,连接城市 i 和 j 的路径的距离原创 2021-06-18 20:23:29 · 213 阅读 · 0 评论 -
【Leetcode刷题篇】-Leetcode1514概率最大的路径
1.Leetcode1514 概率最大的路径给你一个由 n 个节点(下标从 0 开始)组成的无向加权图,该图由一个描述边的列表组成,其中 edges[i] = [a, b] 表示连接节点 a 和 b 的一条无向边,且该边遍历成功的概率为 succProb[i] 。指定两个节点分别作为起点 start 和终点 end ,请你找出从起点到终点成功概率最大的路径,并返回其成功概率。如果不存在从 start 到 end 的路径,请 返回 0 。只要答案与标准答案的误差不超过 1e-5 ,就会被视作正确答案。原创 2021-06-18 20:22:50 · 384 阅读 · 1 评论 -
【Leetcode刷题篇】- Leetcode743网络延迟时间
DFS-2.Leetcode743 网络延迟时间有 n 个网络节点,标记为 1 到 n。给你一个列表 times,表示信号经过 有向 边的传递时间。 times[i] = (ui, vi, wi),其中 ui 是源节点,vi 是目标节点, wi 是一个信号从源节点传递到目标节点的时间。现在,从某个节点 K 发出一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,返回 -1 。示例 1:输入:times = [[2,1,1],[2,3,1],[3,4,1]], n = 4, k原创 2021-06-18 20:22:03 · 360 阅读 · 0 评论 -
【Leetcode刷题篇】-Leetcode399除法求值
DFS-1.Leetcode 399 除法求值给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。另有一些以数组 queries 表示的问题,其中 queries[j] = [Cj, Dj] 表示第 j 个问题,请你根据已知条件找出 Cj / Dj = ? 的结果作为答案。返回 所有问题原创 2021-06-18 20:21:25 · 169 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode1462 课程表IV
Floyd-1.Leetcode1462课程表IV你总共需要上 n 门课,课程编号依次为 0 到 n-1 。有的课会有直接的先修课程,比如如果想上课程 0 ,你必须先上课程 1 ,那么会以 [1,0] 数对的形式给出先修课程数对。给你课程总数 n 和一个直接先修课程数对列表 prerequisite 和一个查询对列表 queries 。对于每个查询对 queries[i] ,请判断 queries[i][0] 是否是 queries[i][1] 的先修课程。请返回一个布尔值列表,列表中每个元素依次原创 2021-06-18 20:20:37 · 252 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode685 冗余连接II
并查集-1.Leetcode685 冗余连接II在本问题中,有根树指满足以下条件的 有向 图。该树只有一个根节点,所有其他节点都是该根节点的后继。该树除了根节点之外的每一个节点都有且只有一个父节点,而根节点没有父节点。输入一个有向图,该图由一个有着 n 个节点(节点值不重复,从 1 到 n)的树及一条附加的有向边构成。附加的边包含在 1 到 n 中的两个不同顶点间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组 edges 。 每个元素是一对 [ui, vi],用以表示 有向 图中连原创 2021-06-18 20:19:55 · 148 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode322 重新安排行程
DFS-2.Leetcode322 重新安排行程给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。提示:如果存在多种有效的行程,请你按字符自然排序返回最小的行程组合。例如,行程 [“JFK”, “LGA”] 与 [“JFK”, “LGB”] 相比就更小,排序更靠前所有的机场都用三个大写字母表示(机场代码)。假定所有机票至少存在原创 2021-06-18 20:18:57 · 150 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode841 钥匙和房间
DFS-1.Leetcode841 钥匙和房间有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,…,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由 [0,1,…,N-1] 中的一个整数表示,其中 N = rooms.length。 钥匙 rooms[i][j] = v 可以打开编号为 v 的房间。最初,除 0 号房间外的其余所有房间都被锁住。你可以自由地在房间之间来回原创 2021-06-18 20:18:10 · 436 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode207 课程表
BFS-1.Leetcode207 课程表你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回原创 2021-06-18 20:17:12 · 300 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode1615最大网络秩
4.Leetcode1615 最大网络秩n 座城市和一些连接这些城市的道路 roads 共同组成一个基础设施网络。每个 roads[i] = [ai, bi] 都表示在城市 ai 和 bi 之间有一条双向道路。两座不同城市构成的 城市对 的 网络秩 定义为:与这两座城市 直接 相连的道路总数。如果存在一条道路直接连接这两座城市,则这条道路只计算 一次 。整个基础设施网络的 最大网络秩 是所有不同城市对中的 最大网络秩 。给你整数 n 和数组 roads,返回整个基础设施网络的 最大网络秩 。示例原创 2021-06-18 20:16:12 · 339 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode可以到达所有点的最少数目
3.Leetcode1557 可以到达所有点的最少数目给你一个 有向无环图 , n 个节点编号为 0 到 n-1 ,以及一个边数组 edges ,其中 edges[i] = [fromi, toi] 表示一条从点 fromi 到点 toi 的有向边。找到最小的点集使得从这些点出发能到达图中所有点。题目保证解存在且唯一。你可以以任意顺序返回这些节点编号。示例 1:输入:n = 6, edges = [[0,1],[0,2],[2,5],[3,4],[4,2]]输出:[0,3]解释:从单个节点原创 2021-06-18 20:15:25 · 365 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode997 找到小镇的法官
1.Leetcode997 找到小镇的法官在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有一个人同时满足属性 1 和属性 2 。给定数组 trust,该数组由信任对 trust[i] = [a, b] 组成,表示标记为 a 的人信任标记为 b 的人。如果小镇存在秘密法官并且可以确定他的身份,请返回该法官的标记。否则,返回 -1。示例 1:输入:原创 2021-06-18 20:14:07 · 289 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode133 克隆图
1.Leetcode133 克隆图给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node {public int val;public List neighbors;}测试用例格式:简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2),以此类推。该图在测试用例中使用邻接列表表示。邻接列表 是用于表示有限图原创 2021-06-18 20:12:10 · 152 阅读 · 0 评论 -
【Leetcode刷题篇】- 数组排序
给你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]示例 2:输入:nums = [5,1,1,2,0,0]输出:[0,0,1,1,2,5]解题思路1:插入排序class Solution { // 插入排序 public int[] sortArray(int[] nums) { for(int i=1;i<nums.length;i++){ for(in原创 2021-06-14 23:18:01 · 359 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode101 对称二叉树
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3解题思路:对称二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode原创 2021-06-14 21:10:15 · 168 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode98 验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ 1 3输出: true解题思路:中序遍历/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *原创 2021-06-14 21:03:15 · 145 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode100 相同的树
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false/** * Definition for a binary tree node. * public class TreeNode { * int val; * Tree原创 2021-06-14 20:58:09 · 125 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode111 二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode原创 2021-06-14 20:45:06 · 179 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode112 路径总和
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true解题思路:路径总和/** * Definition for a binary tree node. * public c原创 2021-06-14 20:39:38 · 141 阅读 · 0 评论 -
【Leetcode刷题篇】- Leetcode199 二叉树的右视图
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:1 <—/ 2 3 <—\ 5 4 <—解题思路:右视图/** * Definition for a binary tree node. * public class TreeNode { * in转载 2021-06-14 20:31:45 · 194 阅读 · 0 评论 -
【Leetcode刷题篇】-剑指Offer26 树的子结构
输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A: 3/ \4 5/ 1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A = [3,4,5,1,2], B = [4,1]输出:true/** * Definition原创 2021-06-14 17:09:44 · 133 阅读 · 0 评论 -
【Leetcode刷题篇】- 剑指Offer27 二叉树的镜像
请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4/ 2 7/ \ / 1 3 6 9镜像输出: 4/ 7 2/ \ / 9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]解题思路:交换节点/** * Definition for a binary tree node. * public class TreeNode { * in原创 2021-06-14 17:09:30 · 163 阅读 · 0 评论