dz 一步一步教你做网站,网站前后端分离怎么做,系统优化因素,iis网站权限怎么设置题目
给定一个二叉搜索树的根节点 root #xff0c;和一个整数 k #xff0c;请你设计一个算法查找其中第 k 个最小元素#xff08;从 1 开始计数#xff09;。
示例
输入#xff1a;root [5,3,6,2,4,null,null,1], k 3 输出#xff1a;3
解析
这道题应该是能做出…题目
给定一个二叉搜索树的根节点 root 和一个整数 k 请你设计一个算法查找其中第 k 个最小元素从 1 开始计数。
示例
输入root [5,3,6,2,4,null,null,1], k 3 输出3
解析
这道题应该是能做出来的首先二叉搜索树的中序遍历是递增的那就在此基础上直接数K个树就好了
/*** Definition for a binary tree node.* type TreeNode struct {* Val int* Left *TreeNode* Right *TreeNode* }*/
func kthSmallest(root *TreeNode, k int) int {ans : 0if root nil || k 0 {return ans}cur : rootstack : list.New()for cur ! nil || stack.Len() 0 {if cur ! nil {stack.PushBack(cur)cur cur.Left} else {cur stack.Remove(stack.Back()).(*TreeNode)k--if k 0 {return cur.Val}cur cur.Right // 大意了这一行记错了记成pushback了}}return ans
}