关注
在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))
查看原帖
点赞 评论
相关推荐
程序员小白条:简历修改700....神奇,又不是帮你面试,咋的,简历修改从双非变92了还是没实习变成有大厂实习了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
14122次浏览 186人参与
# 面试官是我前女友 #
107085次浏览 731人参与
# 实习生的蛐蛐区 #
40731次浏览 329人参与
# 当你面对裁员会如何? #
276031次浏览 2438人参与
# 计算机有哪些岗位值得去? #
13096次浏览 134人参与
# lastday知无不言 #
56963次浏览 460人参与
# 在职场上,你最讨厌什么样的同事 #
14560次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
14071次浏览 97人参与
# 说说你知道的学历厂 #
28581次浏览 178人参与
# 你找工作的时候用AI吗? #
15081次浏览 194人参与
# 下班后的时间你怎么安排 #
7621次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7345次浏览 167人参与
# 携程求职进展汇总 #
559500次浏览 4258人参与
# 面试尴尬现场 #
24164次浏览 164人参与
# 工作后会跟朋友渐行渐远吗 #
30093次浏览 216人参与
# 中核求职进展汇总 #
20180次浏览 152人参与
# 社会教会你的第一课 #
29648次浏览 397人参与
# 多益网络工作体验 #
49710次浏览 280人参与
# 虾皮求职进展汇总 #
244233次浏览 1797人参与
# 神州信息工作体验 #
16078次浏览 75人参与