1234567891011121314151617181920212223242526272829303132 |
- import (
- "strconv"
- )
- /**
- * Definition for a binary tree node.
- * type TreeNode struct {
- * Val int
- * Left *TreeNode
- * Right *TreeNode
- * }
- */
- func binaryTreePaths(root *TreeNode) (paths []string) {
- if root == nil {
- return
- }
- traversalPaths(root, "", &paths)
- return
- }
- func traversalPaths(node *TreeNode, path string, paths *[]string) {
- path += "->" + strconv.Itoa(node.Val)
- if node.Left != nil {
- traversalPaths(node.Left, path, paths)
- }
- if node.Right != nil {
- traversalPaths(node.Right, path, paths)
- }
- if node.Left == nil && node.Right == nil {
- *paths = append(*paths, path[2:])
- }
- }
|