题解 | #序列化二叉树#一时递归一时爽,一直递归一直爽

序列化二叉树

https://www.nowcoder.com/practice/cf7e25aa97c04cc1a68c8f040e71fb84

package main

import (
	"strconv"
	"strings"
)

type TreeNode struct {
	Val         int
	Left, Right *TreeNode
}

func Serialize(root *TreeNode) string {
	// write code here
	if root == nil {
		return "#"
	}
	return strconv.Itoa(root.Val) + "," + Serialize(root.Left) + "," + Serialize(root.Right)
}
func Deserialize(s string) *TreeNode {
	// write code here
	list := strings.Split(s, ",")
	var travc func()*TreeNode
	travc=func() *TreeNode {
		val:=list[0]
		list=list[1:]
		if val=="#"{
			return nil
		}
		value,_:=strconv.Atoi(val)
		return &TreeNode{value,travc(),travc()}
	}
	return travc()
}
一时递归一时爽,一直递归一直爽
全部评论

相关推荐

去B座二楼砸水泥地:不过也可以理解,这种应该没参加过秋招
点赞 评论 收藏
分享
一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务