Java字符串,数组及二叉搜索树实例分析
作者:RiverSoul
时间:2023-04-25
浏览:2
题目一解法classSolution{publicStringreverseOnlyLetters(Strings){char[]chars=s.toCharArray();intleft=0;intright=chars.length-1;while(left='a'&&chars[left]='A'&&chars[left]='a'&&chars[right]='A'&&chars[right]
本文目录
题目一

解法
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]>='a'&&chars[left]<='z'||(chars[left]>='A'&&chars[left]<='Z')){
tmp = chars[left];
}else {
left++;
continue;
}
if(chars[right]>='a'&&chars[right]<='z'||(chars[right]>='A'&&chars[right]<='Z')){
chars[left] = chars[right];
chars[right] = tmp;
}else {
right--;
continue;
}
left++;
right--;
}
return new String(chars);
}
}题目二

解法
/**
* 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 list = new ArrayList();
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 list){
if(root==null) return;
method(root.left,list);
list.add(root.val);
method(root.right,list);
}
} 题目三

解法
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;
}
}题目四

解法
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]=='#'){
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();
}
}
作者最新文章
漫蛙漫画app下载安装最新版本
2026-10-13 13:19
漫蛙漫画官网入口链接
2026-10-13 13:19
漫蛙2漫画APP最新版本下载免费安装
2026-10-13 13:17
漫蛙漫画官网正版登录入口
2026-10-13 13:15
Windows安装Docker教程:启用WSL2并运行第一个容器验证
2026-10-08 17:47
上一篇:
Java GUI可视化实例分析
下一篇:
Redis缓冲区溢出怎么解决
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































