Java算法中二叉树的练习题有哪些
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,小编给大家分享一下Java算法中二叉树的练习题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!题目一解法/** * D
千家信息网最后更新 2025年11月07日Java算法中二叉树的练习题有哪些
小编给大家分享一下Java算法中二叉树的练习题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
题目一

解法
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { int i = 0; int res = 0; public int kthSmallest(TreeNode root, int k) { method(root,k); return res; } public void method(TreeNode root, int k){ if(root==null) return ; method(root.left,k); i++; if(i==k){ res = root.val; return ; } method(root.right,k); }}题目二
解法
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { int sum = 0; public TreeNode convertBST(TreeNode root) { method(root); return root; } public void method(TreeNode root) { if(root==null){ return; } method(root.right); sum+=root.val; root.val = sum; method(root.left); }}题目三

解法
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { public boolean isValidBST(TreeNode root) { return method(root,null,null); } public boolean method(TreeNode root,TreeNode min,TreeNode max){ if(root==null) return true; if(min!=null&&root.val<=min.val) return false; if(max!=null&&root.val>=max.val) return false; return method(root.left,min,root)&&method(root.right,root,max); }}题目四
解法
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { public TreeNode searchBST(TreeNode root, int val) { if(root==null) return null; if(root.val==val) return root; if(root.val>=val){ return searchBST(root.left,val); } if(root.val题目五
解法
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { public TreeNode insertIntoBST(TreeNode root, int val) { return method(root,val); } public TreeNode method(TreeNode root, int val){ if(root==null) return new TreeNode(val); if (root.val < val) root.right = insertIntoBST(root.right, val); if (root.val > val) root.left = insertIntoBST(root.left, val); return root; }}题目六
算法
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { public TreeNode deleteNode(TreeNode root, int key) { if (root == null) return null; if (root.val == key){ if (root.left == null) return root.right; if (root.right == null) return root.left; TreeNode minNode = getMin(root.right); root.right = deleteNode(root.right, minNode.val); minNode.left = root.left; minNode.right = root.right; root = minNode; }else if(root.val>key){ root.left = deleteNode(root.left,key); }else{ root.right = deleteNode(root.right,key); } return root; } TreeNode getMin(TreeNode node) { while (node.left != null) node = node.left; return node; } }以上是"Java算法中二叉树的练习题有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
题目
解法
算法
篇文章
练习题
内容
不怎么
大部分
更多
知识
行业
资讯
资讯频道
频道
参考
学习
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国家网络安全法律漏洞
怎么查看dns服务器的ip
关闭网络安全模式
服务器托管业务发展
类似于楼月的软件开发
人工智能控制存储服务器
网络安全课程目的
给数据库用户权限命令
服务器布置着陆页
数据库 地图
e会计怎么改账套初始数据库
方舟如何开服务器
如何认识新兴互联网金融科技
网络安全测试题免费下载
甘肃鲲鹏服务器在哪买
力控修改数据库参数后要重启DB
看见网络技术
前海微智盛网络技术百度
传说对决为什么会无法连接服务器
两台服务器通过网线连接
成都应用软件开发公司哪家强
两个人同时链接一台服务器电脑吗
万友引利(广州)网络技术
漫画说网络安全教学
温州营销网络技术包括什么
数据库密码采用什么加密
高校教学财务软件开发商
报纸可以在哪个数据库查看
人间地狱cn81服务器
23岁学软件开发晚吗