7.20

1.第一题:
在这里插入图片描述
通过依次在表头添加的方式反转链表,代码如下:

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        new=None
        while head:
            p=head
            a=head.next
            p.next=new
            new=p
            head=a
        return new

递归方法:

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        if head==None or head.next==None:
            return head
        tail=self.reverseList(head.next)
        head.next.next=head
        head.next=None
        return tail

2.第二题:
在这里插入图片描述
这道题用递归比较简单,代码如下:

class Solution:
    def invertTree(self, root: TreeNode) -> TreeNode:
        if root==None:
            return None
        if root:
            if root.right:
                a=root.right
            else:a=None
            if root.left:
                b=root.left
            else:b=None
            root.left=a
            root.right=b
        if root.right:
            self.invertTree(root.right)
        if root.left:
            self.invertTree(root.left)
        return root

3.第三题:
在这里插入图片描述
这道题就很离谱,一开始我还真没弄懂到底是什么意思,代码如下:

class Solution:
    def deleteNode(self, node):
        """
        :type node: ListNode
        :rtype: void Do not return anything, modify node in-place instead.
        """
        node.val=node.next.val
        node.next=node.next.next

4.第四题:
在这里插入图片描述
害,每天都只能欺负一下简单题!:

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        if sorted(s)==sorted(t):
            return True
        else:
            return False

5.第五题:
在这里插入图片描述
哇,这道题还要输出箭头,这个真的好恶心哦!用的递归,代码如下:

class Solution:
    def binaryTreePaths(self, root: TreeNode) -> List[str]:
        reso=[]
        s=""
        def res(node,s):
            if node:
                s+=str(node.val)+"->"
                if node.left:
                    res(node.left,s)
                if node.right:
                    res(node.right,s)
                if node.left==None and node.right==None:
                    reso.append(s)
        res(root,s)
        rf=[]
        for i in reso:
            rf.append(i[0:-2])
        return rf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值