Golang的引用传递目前只想到封装到struct中,传递*struct。
也有再func中写func的,利用变量的作用域达到目的,如:
func leafSimilar(root1, root2 *TreeNode) bool {vals := []int{}var dfs func(*TreeNode)dfs = func(node *TreeNode) {if node == nil {return}if node.Left == nil && node.Right == nil {vals = append(vals, node.Val)return}dfs(node.Left)dfs(node.Right)}dfs(root1)vals1 := append([]int(nil), vals...)vals = []int{}dfs(root2)if len(vals) != len(vals1) {return false}for i, v := range vals1 {if v != vals[i] {return false}}return true}
不像C++void getary(TreeNode* head,vector<int> &ary){}加个&就行
