做题时的一些总结:
- 【06】从尾到头打印链表→
当遇到链表的时候,可以把链表的数输入进一个列表。 一般需要创建一个列表。
倒叙输出一个列表的元素→list[::-1] - 【54】二叉搜索树的k大节点→
二叉搜索树:左节点<=节点<=右节点
二叉查找树:左子树节点的任意一个值<=根节点值<=右子树节点的任意一个值
前序遍历:根→左→右
中序遍历:左→根→右
后序遍历:左→右→根
层序遍历:从上到下,从左到右。第一个访问的是根节点
二叉搜索树的中序遍历是递增序列,中序遍历的倒序是递减序列。
如果在方法里面再定义一个def, 则里面的相同参数要用self.定义。
比如:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17class Solution: def kthLargest(self, root: TreeNode, k: int) -> int: def dfs(root): if root == None: return dfs(root.right) if self.k == 0: #这里self.k是将k定义为属性了 return self.k -= 1 if self.k == 0: self.res = root.val dfs(root.left) self.k = k dfs(root) return self.res
return 是可以不返回任何东西的
3.【12】二进制中1的个数→
复制代码
1
2
3
4
5
6
7
8class Solution: def hammingWeight(self, n: int) -> int: res = 0 while n: res += n & 1 n >>= 1 return res
无符号右移:>>=
n&1 = 1 二进制最后一位是1(位运算)
n&1 = 0 二进制最后一位是0(位运算)
最后
以上就是殷勤金鱼最近收集整理的关于力扣上剑指Offer刷题总结的全部内容,更多相关力扣上剑指Offer刷题总结内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复