leetcode练习
个人学习leetcode的记录
特立独行的Q
这个作者很懒,什么都没留下…
展开
-
日拱一卒(6)——leetcode学习记录:相交链表——我走过你走的路,只为与你相见
用两个指针,node.next查找相同链表,但是无法保证同时到达相同节点,因此需要遍历两遍,即A遍历完,去遍历B,B遍历完去遍历A,这样每个指针都会走A+B这两个链表,而相同之处肯定在末尾,因此在最后会同时达到相同节点。,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回。确实挺浪漫的,我走过你走的路,只为与你相见。,函数返回结果后,链表必须。整个链式结构中不存在环。给你两个单链表的头节点。原创 2024-08-17 23:56:21 · 119 阅读 · 0 评论 -
日拱一卒(5)——leetcode学习记录:股票购买
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。遍历价格中的元素,以及该元素前的最小元素,计算利润,更新最大利润。遍历价格中的元素,及该元素后最大的元素,计算利润,更新最大利润。问题:每次计算最大值都需要遍历一次,如果改为复用就能减少时间。设计一个算法来计算你所能获取的最大利润。买入这只股票,并选择在。1. 暴力求解(超时)原创 2024-08-17 22:06:38 · 46 阅读 · 0 评论 -
日拱一卒(3)——leetcode学习记录:二叉树最小深度
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。给定一个二叉树,找出其最小深度。叶子节点是指没有子节点的节点。编程小白,所以结果比较差,见笑。1. 递归计算二叉树的深度。一、任务:平衡二叉树。原创 2024-08-16 21:11:00 · 131 阅读 · 0 评论 -
日拱一卒——leetcode学习记录:平衡二叉树
2. 注意每次返回的都是TreeNode,即二叉树,二叉树定义很简单,但是通过递归可以使left和right都为TreeNode。c. nums长度大于2,返回TreeNode,val为中心值,left递归,right递归。b. nums长度为2,返回TreeNode,val为第二个元素,left递归。a. nums长度为1,返回TreeNode,val为第一个元素。编程小白,所以结果比较差,见笑。排列,请你将其转换为一棵。原创 2024-08-14 22:56:06 · 407 阅读 · 0 评论 -
日拱一卒(2)——leetcode学习记录:平衡二叉树(二)
b. 左右子节点都存在,返回 max(1+递归(左子节点),1+递归(右子节点))3. 左右子节点深度差小于等于1,返回 递归 左子节点判断and右子节点判断。a. 左右子节点存在一个,返回 1+递归(存在的子节点)d.大前提,如果主节点为None,返回 0。c. 左右子节点都不存在,返回1。2. 左右子节点深度差大于1,返回 False。给定一个二叉树,判断它是否是 平衡二叉树。编程小白,所以结果比较差,见笑。1. 递归计算二叉树的深度。一、任务:平衡二叉树。原创 2024-08-15 23:21:02 · 224 阅读 · 0 评论 -
日拱一卒(4)——leetcode学习记录:路径总和
左右节点都存在,返回 递归(左子节点,targetSum-root.val)or递归(右子节点,targetSum-root.val)其他,返回 递归(左子节点or右子节点,targetSum-root.val)左右子节点都不存在,返回targetSum == root.val。的路径,这条路径上所有节点值相加等于目标和。和一个表示目标和的整数。节点不存在,返回False。是指没有子节点的节点。原创 2024-08-17 20:25:49 · 67 阅读 · 0 评论