IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 完全自己敲 -> 正文阅读

[数据结构与算法]完全自己敲

? ? ?

寻找两个有序数组的中位数

可参考88.合并两个有序数组

对称二叉树

import io
import sys

class TreeNode:
    def __init__(self,val=0,left=None,right=None):
        self.val=val
        self.left=left
        self.right=right

def stringToTreeNode(input):
    input=input.strip() #去掉[]
    input=input[1:-1]
    if not input:
        return None
    inputValues=[s.strip() for s in input.split(',')] #记得加中括号
    root=TreeNode(int(inputValues[0]))
    nodeQueue=[root] #声明一个list表示队列,并且内部存储结构是二叉树
    front=0
    index=1
    while index<len(inputValues):
        node=nodeQueue[front] #声明构造一个nodeQueue队头,用于之后引导node.left和node.right等左右孩子结点
        front=front+1 #前继结点

        item_left=inputValues[index]
        index=index+1
        if item_left!="null":
            leftNumber=int(item_left) #注意:需先强转成integer
            node.left=TreeNode(leftNumber) #注意调用的是TreeNode类用(),不是中括号
            nodeQueue.append(node.left)

        if index>=len(inputValues):
            break

        item_right = inputValues[index]
        index = index + 1
        if item_right!="null":
            rightNumber = int(item_right)  # 注意:需先强转成integer
            node.right = TreeNode(rightNumber)
            nodeQueue.append(node.right)

    return root

class Solution:
    def isSymmetrical(self, root:TreeNode):
        if not root:
            return None

        def DFS(left,right):
            if not (left or right): #注意
                return True
            if not (left and right):
                return False
            if left.val!=right.val:
                return True
            return DFS(left.left, right.right) and DFS(left.right,right.left)
        return DFS(root.left,root.right)
def EnterMain():
    def readlines():
        for lines in io.TextIOWrapper(sys.stdin.buffer,encoding='utf-8'):
            yield lines.strip('\n')

    lines=readlines()
    while True:
        try:
            line=next(lines)
            node=stringToTreeNode(line)
            result=Solution().isSymmetrical(node)
            out=str(result)
            print(out)
        except StopIteration:
            break

if __name__ == '__main__':
    EnterMain()

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-07-25 11:55:27  更:2021-07-25 11:56:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 16:30:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码