关注
在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))
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 秋招报数:你投了多少家公司? #
5319次浏览 25人参与
# 荣耀求职进展汇总 #
934353次浏览 4969人参与
# 小红书校招直播来了 #
67578次浏览 405人参与
# 非技术er求职现状 #
94714次浏览 628人参与
# 数据人offer决赛圈怎么选 #
240987次浏览 2360人参与
# 总结:哪家公司最喜欢泡池子 #
137227次浏览 479人参与
# 国庆前的秋招小结 #
145997次浏览 1177人参与
# 百度工作体验 #
258271次浏览 2081人参与
# 这些公司卡简历很严格 #
50883次浏览 243人参与
# 设计人的面试记录 #
147490次浏览 1452人参与
# 我的第一份实习怎么找的 #
149154次浏览 1371人参与
# 摸鱼打卡站 #
53813次浏览 733人参与
# 我和mentor的爱恨情仇 #
71730次浏览 415人参与
# 多益网络求职进展汇总 #
38507次浏览 171人参与
# bilibili求职进展汇总 #
76329次浏览 698人参与
# 查收我的offer竞争力报告 #
207162次浏览 1358人参与
# kpi面有什么特征 #
75295次浏览 457人参与
# 字节跳动工作体验 #
511603次浏览 5162人参与
# 牛客十周岁生日快乐 #
171916次浏览 1792人参与
# 选了这个offer,你有没有后悔? #
617578次浏览 4076人参与
# 这个工作能去吗 #
17545次浏览 120人参与