
leetcode练习
个人学习leetcode的记录
特立独行的Q
“What I cannot create, I do not understand.” -- Richard Feynman
展开
-
日拱一卒(8)——leetcode学习记录:位1的个数
设置位就是值为1的位,因此需要将十进制转换为二进制,方法是余2得到从低到高位的数值,整除2得到下一次计算的数。编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中。原创 2024-08-20 21:57:20 · 221 阅读 · 0 评论 -
日拱一卒(7)——leetcode学习记录:颠倒二进制位
python3下,输入是10进制整数,依次除以2,获取二进制从低位至高位,翻转正好对应从高位至地位,再转换为十进制输出。因此返回 964176192,其二进制表示形式为。颠倒给定的 32 位无符号整数的二进制位。原创 2024-08-19 21:00:22 · 296 阅读 · 0 评论 -
日拱一卒(6)——leetcode学习记录:相交链表——我走过你走的路,只为与你相见
用两个指针,node.next查找相同链表,但是无法保证同时到达相同节点,因此需要遍历两遍,即A遍历完,去遍历B,B遍历完去遍历A,这样每个指针都会走A+B这两个链表,而相同之处肯定在末尾,因此在最后会同时达到相同节点。,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回。确实挺浪漫的,我走过你走的路,只为与你相见。,函数返回结果后,链表必须。整个链式结构中不存在环。给你两个单链表的头节点。原创 2024-08-17 23:56:21 · 237 阅读 · 0 评论 -
日拱一卒(5)——leetcode学习记录:股票购买
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。遍历价格中的元素,以及该元素前的最小元素,计算利润,更新最大利润。遍历价格中的元素,及该元素后最大的元素,计算利润,更新最大利润。问题:每次计算最大值都需要遍历一次,如果改为复用就能减少时间。设计一个算法来计算你所能获取的最大利润。买入这只股票,并选择在。1. 暴力求解(超时)原创 2024-08-17 22:06:38 · 261 阅读 · 0 评论 -
日拱一卒(3)——leetcode学习记录:二叉树最小深度
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。给定一个二叉树,找出其最小深度。叶子节点是指没有子节点的节点。编程小白,所以结果比较差,见笑。1. 递归计算二叉树的深度。一、任务:平衡二叉树。原创 2024-08-16 21:11:00 · 281 阅读 · 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 · 448 阅读 · 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 · 318 阅读 · 0 评论 -
日拱一卒(4)——leetcode学习记录:路径总和
左右节点都存在,返回 递归(左子节点,targetSum-root.val)or递归(右子节点,targetSum-root.val)其他,返回 递归(左子节点or右子节点,targetSum-root.val)左右子节点都不存在,返回targetSum == root.val。的路径,这条路径上所有节点值相加等于目标和。和一个表示目标和的整数。节点不存在,返回False。是指没有子节点的节点。原创 2024-08-17 20:25:49 · 284 阅读 · 0 评论