/images/avatar.png

vllbc

翻转二叉树

翻转二叉树 开始学习二叉树了 先来个简单题 https://leetcode-cn.com/problems/invert-binary-tree/ 很简单 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def invertTree(self, root: TreeNode) -> TreeNode: if root == None: return None temp = root.left root.left = root.right root.right

对称二叉树

对称二叉树 题目: https://leetcode-cn.com/problems/symmetric-tree/ 思路: 利用双向队列,每次把对称的两个对应的节点放入队列中,然后取出来比较,如果值不相等则返回false,如果一边为空 一边不

合并两个有序列表

合并两个有序列表 题目: https://leetcode-cn.com/problems/merge-two-sorted-lists/ 思路: 利用递归的思想,比较两个当前值,因为是有序链表 代码: # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode)

可获得的最大点数

可获得的最大点数 题目: https://leetcode-cn.com/problems/maximum-points-you-can-obtain-from-cards/ 思路: 滑动窗口题目,限定窗口大小然后滑动即可 代码: class Solution: def maxScore(self, cardPoints: List[int], k: int) -> int: n = len(cardPoints) # 滑动窗口大小为 n-k windowSize = n - k # 选前 n-k 个作