这篇文章主要讲解了“Java字符串、数组和二叉搜索树实例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java字符串、数组和二叉搜索树实例代码分析”吧!
解法
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<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); } }
解法
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(); } }
感谢各位的阅读,以上就是“Java字符串、数组和二叉搜索树实例代码分析”的内容了,经过本文的学习后,相信大家对Java字符串、数组和二叉搜索树实例代码分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。