Home >Java >javaTutorial >Analysis of Java String, Array and Binary Search Tree Examples

Analysis of Java String, Array and Binary Search Tree Examples

WBOY
WBOYforward
2023-04-21 09:19:081458browse

Question 1

Analysis of Java String, Array and Binary Search Tree Examples

Solution

class Solution {
    public String reverseOnlyLetters(String s) {
        char[] chars = s.toCharArray();
        int left = 0;
        int right = chars.length-1;
        while(left<=right){
            char tmp = 0;
            if(chars[left]>=&#39;a&#39;&&chars[left]<=&#39;z&#39;||(chars[left]>=&#39;A&#39;&&chars[left]<=&#39;Z&#39;)){
                tmp = chars[left];
            }else {
                left++;
                continue;
            }
            if(chars[right]>=&#39;a&#39;&&chars[right]<=&#39;z&#39;||(chars[right]>=&#39;A&#39;&&chars[right]<=&#39;Z&#39;)){
                chars[left] = chars[right];
                chars[right] = tmp;
            }else {
                right--;
                continue;
            }
            left++;
            right--;
        }
        return new String(chars);
    }
}

Question 2

Analysis of Java String, Array and Binary Search Tree Examples

##Solution

/**
 * 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 increasingBST(TreeNode root) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        method(root,list);
        TreeNode ans = new TreeNode(-1);
        TreeNode cur = ans;
        for(int i:list){
            TreeNode node = new TreeNode(i);
            cur.right = node;
            cur = cur.right;
        }
        return ans.right;
    }
    public void method(TreeNode root,List<Integer> list){
        if(root==null) return;
        method(root.left,list);
        list.add(root.val);
        method(root.right,list);
    }
}

Question three

Analysis of Java String, Array and Binary Search Tree Examples

Solution

class Solution {
    public int[] sortArrayByParity(int[] nums) {
        int[] ans = new int[nums.length];
        int left = 0;
        int right = nums.length-1;
        for(int i : nums){
            if(i%2==0){
                ans[left] = i;
                left++;
            }else{
                ans[right] = i;
                right--;
            }
        }
        return ans;
    }
}
 
class Solution {
    public int[] sortArrayByParity(int[] nums) {
        int left = 0;
        int right = nums.length-1;
        while(left<=right){
            if(nums[left]%2==0){
                left++;
                continue;
            }
            if(nums[right]%2!=0){
                right--;
                continue;
            }
            if(nums[left]%2!=0&&nums[right]%2==0){
                int tmp = nums[left];
                nums[left] = nums[right];
                nums[right] = tmp;
            }
        }
        return nums;
    }
}

Question four

Analysis of Java String, Array and Binary Search Tree Examples##Solution

class Solution {
    public boolean backspaceCompare(String s, String t) {
        if(method(s).equals(method(t))) return true;
        return false;
    }
    public static String method(String s){
        int slow = 0;
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            if(chars[i]==&#39;#&#39;){
                chars[i] = 0;
                slow = i;
                while (true){
                    if(slow-1<0) break;
                    if (chars[slow-1]!=0){
                        chars[slow-1] = 0;
                        break;
                    }
                    slow--;
                }
            }
        }
        StringBuilder sb = new StringBuilder();
        for(char i : chars){
            if(i!=0) sb.append(i);
        }
        return sb.toString();
    }
}

The above is the detailed content of Analysis of Java String, Array and Binary Search Tree Examples. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete