Leetcode Note: Go - Binary Tree Preorder Traversal
Binary Tree Preorder Traversal - LeetCode
https://leetcode.com/problems/binary-tree-preorder-traversal/
- Go 言語で取り組んだメモ
所感
- 再帰呼び出しで実装できそう
回答
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func preorderTraversal(root *TreeNode) []int {
traversal := []int{}
var preorder func(*TreeNode)
preorder = func(root *TreeNode) {
if root == nil {
return
}
traversal = append(traversal, root.Val)
preorder(root.Left)
preorder(root.Right)
}
preorder(root)
return traversal
}
- return する配列を定義しつつ、再帰で操作していく感じ
- 昔やった問題のコードをほぼパクったものの、自前で実装できて良かった