## 算法记录Day 22 | 二叉树part08

39 阅读1分钟

算法记录Day 20 | 二叉树part08

LeetCode # 235. 二叉搜索树的最近公共祖先

题目链接:235. 二叉搜索树的最近公共祖先

题解
func lowestCommonAncestor(root, p, q *TreeNode) *TreeNode {
	if root == nil {
		return root
	}
	return traversal235(root, p, q)
}

func traversal235(root, p, q *TreeNode) *TreeNode {
	if root.Val > p.Val && root.Val > q.Val {
		return traversal235(root.Left, p, q)
	} else if root.Val < p.Val && root.Val < q.Val {
		return traversal235(root.Right, p, q)
	} else {
		return root
	}
}

LeetCode 701.二叉搜索树中的插入操作

题目链接:701. 二叉搜索树中的插入操作

题解
func insertIntoBST(root *TreeNode, val int) *TreeNode {
	if root == nil {
		return &TreeNode{Val: val}
	}
	if root.Val < val {
		root.Right = insertIntoBST(root.Right, val)
	} else {
		root.Left = insertIntoBST(root.Left, val)
	}
	return root
}