Java 实现二叉树排序树第k个节点

Java 实现二叉树排序树第k个节点,第1张

Java 实现二叉树排序树第k个节点 Java 实现二叉树排序树第k个节点

需要用到二叉搜搜索数的性质:中序遍历之后得到的值是递增的顺序

import java.util.ArrayList;

public class Solution {
	
	
    public int KthNode (TreeNode proot, int k) {
    	
    	if (proot == null||k==0) return -1;
    	
    	// 1.定义集合:存储数据 - 此时集合中存储的数据是 递增的
    	ArrayList trrIntegers = middleOrder(proot, new ArrayList());
    	
    	if (k>trrIntegers.size()) return -1;
    	
    	// 2.返回数据
    	return trrIntegers.get(k-1);
    }
    
    
    
    public ArrayList middleOrder(TreeNode parentNode,ArrayList integers){
    	
    	if (parentNode == null) return null;
    	
    	middleOrder(parentNode.left, integers);
    	
    	integers.add(parentNode.val);
    	
    	middleOrder(parentNode.right, integers);
    	
    	return integers;
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5715770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存