int res; int k; public int kthLargest(TreeNode root、int k){ this.k = k; dfs(root); return res; } public void dfs(TreeNode node){ //右に移動->ルート->左ツリーを介して、k番目のノードを簡単に見つけることができる大きな 逆数を与える IF(node == null){ return; } DFS(node.right); // k == 0は、ツリートラバーサルの 場合に事前に検出されています。(k == 0){ return; } // K番目に大きいノードを見つけ、resを割り当てます if(-k == 0){ res = node.val; } dfs(node.left); }
Swordは、Offer-55バイナリ検索ツリーのk番目に大きいノードを指します
おすすめ
転載: blog.csdn.net/a792396951/article/details/114255257
おすすめ
ランキング