欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

劍指Offer之Java算法習題精講字符串與二叉搜索樹

 更新時間:2022年03月22日 10:07:17   作者:明天一定.  
跟著思路走,之后從簡單題入手,反復去看,做過之后可能會忘記,之后再做一次,記不住就反復做,反復尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質的變化

題目一

字符串題——查找重復子字符串

根據(jù)給定的字符串按照指定條件判斷是都可以通過子串多次構成

具體題目如下

解法

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()<a.length()){
                sb.append(s);
            }
            if(sb.toString().equals(a)){
                return true;
            }
        }
        return false;
    }
}

題目二

字符串題——查找大寫字母

根據(jù)給定的字符串按照指定條件進行判斷并返回結果

具體題目如下

解法

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;
    }
}

題目三

二叉樹題——查找二叉樹不同節(jié)點間最小差值

根據(jù)給定的二叉樹根節(jié)點返回任意兩個不同節(jié)點間最小差值

具體題目如下

解法

二叉搜索樹有個性質為二叉搜索樹中序遍歷得到的值序列是遞增有序的

/**
 * 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);
    }
}

題目四

字符串題——反轉字符串

根據(jù)給定的字符串按照指定條件反轉

具體題目如下

 解法

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<a.length()){
            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(s);
            }
        }
        return sb.toString();
    }
}

到此這篇關于劍指Offer之Java算法習題精講字符串與二叉搜索樹的文章就介紹到這了,更多相關Java 二叉搜索樹內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java JVM調優(yōu)五大技能詳解

    Java JVM調優(yōu)五大技能詳解

    這篇文章主要為大家介紹了JVM調優(yōu)的五大技能,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 使用controller傳boolean形式值

    使用controller傳boolean形式值

    這篇文章主要介紹了使用controller傳boolean形式值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java同步之volatile解析

    java同步之volatile解析

    volatile可以說是Java虛擬機提供的最輕量級的同步機制了,了解volatile的語義對理解多線程的特性具有很重要的意義,下面小編帶大家一起學習一下
    2019-05-05
  • java常見的字符串拼接方式總結

    java常見的字符串拼接方式總結

    這篇文章主要為大家詳細介紹了java中常見的字符串拼接方式,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-09-09
  • 利用github搭建個人maven倉庫的方法步驟

    利用github搭建個人maven倉庫的方法步驟

    這篇文章主要介紹了利用github搭建個人maven倉庫的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 深入淺析java中finally的用法

    深入淺析java中finally的用法

    finally自己由關鍵字finally和后面的finally塊組成。這篇文章重點給大家介紹java中finally的用法,需要的朋友參考下吧
    2018-06-06
  • SpringBoot 配置提示功能(超詳細)

    SpringBoot 配置提示功能(超詳細)

    這篇文章主要介紹了SpringBoot 配置提示功能,本文給大家介紹的超詳細,通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • 利用Java編寫一個出敬業(yè)福的小程序

    利用Java編寫一個出敬業(yè)福的小程序

    新年將至,又開始掃福活動,每年的敬業(yè)福成了大家難過的坎。所以本文將介紹一個通過Java編寫的一款福字生成器,感興趣的小伙伴可以試一試
    2022-01-01
  • 從零開始學springboot整合feign跨服務調用的方法

    從零開始學springboot整合feign跨服務調用的方法

    這篇文章主要介紹了從零開始學springboot整合feign跨服務調用的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java 常量與變量的區(qū)別詳細介紹

    Java 常量與變量的區(qū)別詳細介紹

    這篇文章主要介紹了Java 常量與變量的區(qū)別的相關資料,并附實例代碼幫助大家學習理解,需要的朋友可以參考下
    2016-10-10

最新評論