java 二叉查找算法,编写一个算法求二叉树的最小关键字值
题目一
字符串题——查找重复子字符串
根据给定的字符串按照指定条件判断是都可以通过子串多次构成
具体题目如下
解法
类解决方案{ public boolean repeatedSubstringPattern(String a){ for(int I=1;I=a . length()/2;i ) { String s=a.substring(0,I);字符串缓冲区sb=新字符串缓冲区();而(某人)。长度;长度;长度。追加;} if(sb.toString().等于(a)){返回true} }返回false}}
题目二
字符串题——查找大写字母
根据给定的字符串按照指定条件进行判断并返回结果
具体题目如下
解法
类解决方案{ public boolean detectCapitalUse(String word){ if(word。tolowercase().equals(word)word.toUpperCase().equals(word)word.substring(1,word.length()).toLowerCase().equals(word.substring(1,word.length()))返回真实的返回false}}
题目三
二叉树题——查找二叉树不同节点间最小差值
根据给定的二叉树根节点返回任意两个不同节点间最小差值
具体题目如下
解法
二叉搜索树有个性质为二叉搜索树中序遍历得到的值序列是递增有序的
/** *二叉树节点的定义。*公共类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解决方案{ int ansint prepublic int get minimum difference(TreeNode root){ ans=Integer .MAX _ value pre=-1;方法(根);返回ans}公共空间方法(TreeNode root){ if(root==null){ return;}方法(根。左);if(pre==-1){ pre=root。val}else{ ans=Math.min(ans,root。val-pre);pre=root.val}方法(根。对);}}
题目四
字符串题——反转字符串
根据给定的字符串按照指定条件反转
具体题目如下
解法
class Solution { public String reverseStr(String a,int k){ int con=1;字符串缓冲区sb=新字符串缓冲区();while(con * k=a . length()){ String substring=a . substring((con-1)* k,con * k);if(con%2==0){ sb.append(子串);弊;} else { for(int i1=substring。length()-1;i1=0;i1-){ sb。追加(子字符串。charat(i1));} con} } if((con-1)* ka。长度()){ String s=a . substring((con-1)* k,a . length());if(con%2!=0){ for(int i1=s . length()-1;i1=0;i1-){ sb。append(s . charat(i1));} } else { sb.append} }返回sb。tostring();}}到此这篇关于剑指提供之爪哇算法习题精讲字符串与二叉搜索树的文章就介绍到这了,更多相关爪哇二叉搜索树内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。