概述
做题时的一些总结:
- 【06】从尾到头打印链表→
当遇到链表的时候,可以把链表的数输入进一个列表。 一般需要创建一个列表。
倒叙输出一个列表的元素→list[::-1] - 【54】二叉搜索树的k大节点→
二叉搜索树:左节点<=节点<=右节点
二叉查找树:左子树节点的任意一个值<=根节点值<=右子树节点的任意一个值
前序遍历:根→左→右
中序遍历:左→根→右
后序遍历:左→右→根
层序遍历:从上到下,从左到右。第一个访问的是根节点
二叉搜索树的中序遍历是递增序列,中序遍历的倒序是递减序列。
如果在方法里面再定义一个def, 则里面的相同参数要用self.定义。
比如:
class 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的个数→
class 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刷题总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复