关注
在VSCode平台上全代码: class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None class Solution: def Serialize(self, root): # write code here if not root: return "" self.number = [] self.cur = [] self.number.append(root) self.Se(root) #print(self.cur) return ",".join(self.cur) def Se(self,root): while(self.number): if self.number[0] != "#" and self.number[0]: self.cur.append(str(self.number[0].val))#AttributeError: 'NoneType' object has no attribute 'val',number[0]==None if self.number[0].left: self.number.append(self.number[0].left) if self.number[0].right: self.number.append(self.number[0].right)#没有判断语句,一直循环,self.number[None] self.number.pop(0) if len(self.number)>0 and self.number[0]=="#": self.cur.append("#")#IndexError: list index out of range self.number.pop(0) #if not self.number[0]: def Deserialize(self, s): # write code here if not s: return l = s.split(",") root = TreeNode(None) return(self.listCreatTree(root,l,0)) def listCreatTree(self, root,l,i): if i < len(l): val = l[i] if val != "#": root = TreeNode(val) root.left = self.listCreatTree(root, l, 2*i+1) root.right = self.listCreatTree(root, l, 2*i+2) return root if val == "#": root = TreeNode(val) return root ''' flag=-1 def Serialize(self, root): # write code here if not root: return '#' return str(root.val)+','+self.Serialize(root.left)+','+self.Serialize(root.right) def Deserialize(self, s): # write code here #print(s) self.flag+=1 lis=s.split(',') if self.flag>=len(lis): return None root=None #print("----------",self.flag,len(lis),len(s)) if lis[self.flag]!='#': root=TreeNode(int(lis[self.flag])) root.left=self.Deserialize(s) root.right=self.Deserialize(s) return root ''' def midTraversal(self, root): if root: self.midTraversal(root.left) print(root.val) self.midTraversal(root.right) if __name__ == "__main__": #b = [8,6,10,5,7,9,11] #print() #print(list(b)) #print(b.split(",")) a = Solution() root = TreeNode(None) root = a.Deserialize("8,6,10,5,7,9,11") print("+++++") a.midTraversal(root) print("--------------------") print(a.Serialize(root))
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
9692次浏览 165人参与
# 今年秋招你收到了多少封邮件? #
37363次浏览 274人参与
# 春节前,你还在投简历吗? #
13075次浏览 151人参与
# 牛友的春节生活 #
6658次浏览 140人参与
# 牛客AI体验站 #
14632次浏览 266人参与
# 春节提前走,你用什么理由请假? #
9443次浏览 220人参与
# 从夯到拉,锐评职场mentor #
4495次浏览 65人参与
# 备战春招/暑实,现在应该做什么? #
4414次浏览 145人参与
# 实习到现在,你最困惑的一个问题 #
4179次浏览 119人参与
# 距离春招还有一个月,你现在是什么开局? #
6327次浏览 109人参与
# AI“智障”时刻 #
25904次浏览 129人参与
# 聊聊Agent开发 #
23565次浏览 576人参与
# 机械人的offer怎么选 #
250346次浏览 1186人参与
# 暑期实习什么时候投? #
6673次浏览 155人参与
# 推荐一个值得做的AI项目 #
6462次浏览 168人参与
# 投格力的你,拿到offer了吗? #
171502次浏览 875人参与
# 非技术2024笔面经 #
466023次浏览 4940人参与
# 实习生应该准时下班吗 #
335737次浏览 1737人参与
# 通信硬件薪资爆料 #
1226608次浏览 7207人参与
# 大家实习每天都在干啥 #
121695次浏览 633人参与
正浩创新EcoFlow公司福利 754人发布
查看12道真题和解析