题目:
题解:
- func binaryTreePaths(root *TreeNode) []string {
- paths := []string{}
- if root == nil {
- return paths
- }
- nodeQueue := []*TreeNode{}
- pathQueue := []string{}
- nodeQueue = append(nodeQueue, root)
- pathQueue = append(pathQueue, strconv.Itoa(root.Val))
- for i := 0; i < len(nodeQueue); i++ {
- node, path := nodeQueue[i], pathQueue[i]
- if node.Left == nil && node.Right == nil {
- paths = append(paths, path)
- continue
- }
- if node.Left != nil {
- nodeQueue = append(nodeQueue, node.Left)
- pathQueue = append(pathQueue, path + "->" + strconv.Itoa(node.Left.Val))
- }
- if node.Right != nil {
- nodeQueue = append(nodeQueue, node.Right)
- pathQueue = append(pathQueue, path + "->" + strconv.Itoa(node.Right.Val))
- }
- }
- return paths
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |