剑指Offer之Java算法习题精讲字符串与二叉搜索树
题目一
文章图片
解法
class Solution {public boolean repeatedSubstringPattern(String a) {for (int i = 1; i <=a.length()/2 ; i++) {String s = a.substring(0, i); StringBuffer sb = new StringBuffer(); while (sb.length() 题目二
文章图片
解法
class Solution {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()))) return true; return false; }}
题目三
文章图片
解法
二叉搜索树有个性质为二叉搜索树中序遍历得到的值序列是递增有序的
/** * 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 ans; int pre; public int getMinimumDifference(TreeNode root) {ans = Integer.MAX_VALUE; pre = -1; method(root); return ans; }public void method(TreeNode root){if(root==null){return; }method(root.left); if(pre==-1){pre = root.val; }else{ans = Math.min(ans, root.val - pre); pre = root.val; }method(root.right); }}
题目四
文章图片
解法
class Solution {public String reverseStr(String a, int k) {int con = 1; StringBuffer sb = new StringBuffer(); while (con*k<=a.length()){String substring = a.substring((con - 1) * k, con * k); if(con%2==0){sb.append(substring); con++; }else {for (int i1 = substring.length()-1; i1 >=0 ; i1--) {sb.append(substring.charAt(i1)); }con++; }}if((con-1)*k=0; i1--) {sb.append(s.charAt(i1)); }}else {sb.append(s); }}return sb.toString(); }}
【剑指Offer之Java算法习题精讲字符串与二叉搜索树】到此这篇关于剑指Offer之Java算法习题精讲字符串与二叉搜索树的文章就介绍到这了,更多相关Java 二叉搜索树内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- RocketMQ设计之同步刷盘
- 剑指Offer之Java算法习题精讲数组与字符串题
- MySQL索引之我见
- 低代码开发|驰骋BPM低代码快速开发平台之—.NET版准备工作篇
- 金针探底技术分析(上)
- 剑指Offer-Java-数值的整数次方
- python学了基础之后方向_毫无基础的人如何入门Python(Python400集大型视频,从正确的方向出发学习...)
- 广度优先算法_我要自学生信之数据结构与算法:广度优先搜索
- 程序员杂志|《程序员》 -- 技术团队新官上任之高层篇
- Golang 基础之函数使用 (二)