关注
在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))
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
正在热议
# 怎么防止在试用期被辞退 #
34813次浏览 382人参与
# 海康威视求职进展汇总 #
193061次浏览 1856人参与
# 东方财富校招 #
12338次浏览 223人参与
# 国央企求职进展汇总 #
3893次浏览 18人参与
# 职场人,说说你的烦心事 #
891次浏览 25人参与
# 比亚迪求职进展汇总 #
294811次浏览 1693人参与
# 面试体验感最好的是哪家? #
20093次浏览 159人参与
# 携程求职进展汇总 #
11114次浏览 96人参与
# 腾讯工作体验 #
242015次浏览 2222人参与
# AI了,我在打一种很新的工 #
11056次浏览 343人参与
# 秋招拿一个offer可以躺平吗 #
33928次浏览 288人参与
# 软件开发薪资爆料 #
1487703次浏览 16869人参与
# 四大天坑是哪四家? #
45901次浏览 143人参与
# 实习,投递多份简历没人回复怎么办 #
2012944次浏览 30894人参与
# 荣耀求职进展汇总 #
181919次浏览 1389人参与
# 投了多少份简历才上岸 #
102279次浏览 1489人参与
# 你的秋招简历被谁挂了? #
48516次浏览 673人参与
# 设计人的面试记录 #
54663次浏览 800人参与
# 工作丧失热情的瞬间 #
152040次浏览 1748人参与
# 阿里求职进展汇总 #
21253次浏览 282人参与
# 你觉得找工作该拿大厂还是小厂练手 #
106762次浏览 1363人参与