区块链技术博客
www.b2bchain.cn

剑指 Offer 54. 二叉搜索树的第k大节点 俩种解法

这篇文章主要介绍了剑指 Offer 54. 二叉搜索树的第k大节点 俩种解法,通过具体代码讲解8297并且分析了剑指 Offer 54. 二叉搜索树的第k大节点 俩种解法的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了剑指 Offer 54. 二叉搜索树的第k大节点 俩种解法。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/8297.html。具体如下:

剑指 Offer 54. 二叉搜索树的第k大节点 

 //给定一棵二叉搜索树,请找出其中第k大的节点。  // //  // // 示例 1:  // // 输入: root = [3,1,4,null,2], k = 1 //   3 //  /  // 1   4 //   //   2 //输出: 4  // // 示例 2:  // // 输入: root = [5,3,6,2,4,null,null,1], k = 3 //       5 //      /  //     3   6 //    /  //   2   4 //  / // 1 //输出: 4  // //  // // 限制:  // // 1 ≤ k ≤ 二叉搜索树元素个数  // Related Topics 树  // 👍 49 👎 0   //leetcode submit region begin(Prohibit modification and deletion) /**  * Definition for a binary tree node.  * public class TreeNode {  *     int val;  *     TreeNode left;  *     TreeNode right;  *     TreeNode(int x) { val = x; }  * }  */ class Solution {     int n,ans;     public int kthLargest(TreeNode root, int k) {         n=k;          helper(root);         return ans;     }     private void helper(TreeNode root){         if(root==null||n==0) return;          helper(root.right);         --n;         if( n==0) ans=root.val;         helper(root.left);      }  } //leetcode submit region end(Prohibit modification and deletion) 

 

 /**  * Definition for a binary tree node.  * public class TreeNode {  *     int val;  *     TreeNode left;  *     TreeNode right;  *     TreeNode(int x) { val = x; }  * }  */ class Solution {     //反向中序遍历  俩种解法     public int kthLargest(TreeNode root, int k) {          LinkedList<TreeNode> stack=new LinkedList<>();          while(!stack.isEmpty()||root!=null){              while(root!=null){                  stack.addLast(root);                  root=root.right;              }              root=stack.pollLast();              k--;              if(k==0) return root.val;              root=root.left;          }          return -1;     } }

 

本文地址https://www.b2bchain.cn/8297.html

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 剑指 Offer 54. 二叉搜索树的第k大节点 俩种解法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们