| 12345678910111213141516171819202122232425262728293031323334 | /** * Definition for a binary tree node. * type TreeNode struct { *     Val int *     Left *TreeNode *     Right *TreeNode * } */func findBottomLeftValue(root *TreeNode) int {	if root == nil {		return -1	}	queue := make([]*TreeNode, 0)	queue = append(queue, root)	for len(queue) != 0 {		bl := queue[0].Val		nextLV := make([]*TreeNode, 0)		for len(queue) != 0 {			head := queue[0]			queue = queue[1:]			if head.Left != nil {				nextLV = append(nextLV, head.Left)			}			if head.Right != nil {				nextLV = append(nextLV, head.Right)			}		}		if len(nextLV) == 0 {			return bl		}		queue = nextLV	}	return -1}
 |