axi的leetcode之路
文章平均质量分 58
我是一个大西瓜.
韶光易逝,劝君惜取少年时。
展开
-
二叉树之遍历
2021.11.28所有递归问题都可以抽象为二叉树的遍历。1、二叉树的前序遍历给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]思路递归临界条件:root = nullclass Solution { public List<Integer> preorderTraversa原创 2021-11-29 09:28:14 · 518 阅读 · 0 评论 -
leetcode刷题之二叉树
递归算法的关键**首先:明确函数定义,相信这个定义,不要**跳进递归。**其次:**搞明白root节点自己要做什么,然后根据题目要求选择前中后序递归框架。**最后:**思考出每个节点需要做什么,刷题。习题1:翻转二叉树首先,明确函数定义即,交换根节点的左右节点位置,返回翻转后的节点。其次,明确root自己做什么他要交换它的两个子节点,故选择前序遍历再者,明确子节点都要做什么让每个子节点都去翻转他们的左右子节点。最后,明确边界条件当root == null时,证明执行到了叶子节点,终原创 2021-11-11 23:17:02 · 4206 阅读 · 0 评论 -
刷题技巧之二叉树
递归算法的关键**首先:明确函数定义,相信这个定义,不要**跳进递归。**其次:**搞明白root节点自己要做什么,然后根据题目要求选择前中后序递归框架。**最后:**思考出每个节点需要做什么,刷题。习题1:翻转二叉树首先,明确函数定义即,交换根节点的左右节点位置,返回翻转后的节点。其次,明确root自己做什么他要交换它的两个子节点,故选择前序遍历再者,明确子节点都要做什么让每个子节点都去翻转他们的左右子节点。最后,明确边界条件当root == null时,证明执行到了叶子节点,终转载 2021-11-07 18:34:10 · 211 阅读 · 0 评论 -
leetcode 二叉树遍历
1、前序遍历1、迭代思路:通过双向队列Deque来模拟栈两层while循环,外层判断是否遍历结束,内层判断是否到达最左节点未到达就一直找左子树,每一个都存入list中。到达根节点,出栈,判断该节点是否有右子树,遍历右子树的左子树。。。循环结束,迭代完毕。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeN原创 2021-10-22 21:16:53 · 78 阅读 · 0 评论 -
leetcode 第二天 合并两个有序数组
合并两个有序数组给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 =原创 2021-10-18 23:01:03 · 100 阅读 · 1 评论 -
leetcode 第一天
1、旋转矩阵旋转矩阵给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3, 6, 7],原创 2021-10-16 21:36:45 · 50 阅读 · 0 评论