strings.Builder用于拼接字符串
我们需要把一颗二叉树打平成为一个字符串
二叉树的结构如下
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
具体把二叉树打平成字符串的算法
func serialize(root *TreeNode) string {
sb := &strings.Builder{}
var dfs func(*TreeNode)
dfs = func(node *TreeNode) {
if node == nil {
sb.WriteString("null,") //使用strings.Builder进行拼接
return
}
sb.WriteString(strconv.Itoa(node.Val))
sb.WriteString(",")
dfs(node.Left)
dfs(node.Right)
}
dfs(root)
return sb.String()
}