Java字符串、数组和二叉搜索树实例代码分析
这篇文章主要讲解了“Java字符串、数组和二叉搜索树实例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java字符串、数组和二叉搜索树实例代码分析”吧!
成都创新互联主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站、程序开发、网站优化、微网站、微信平台小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的网站设计、网站建设、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。
题目一
解法
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) { ArrayListlist = 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(); } }
感谢各位的阅读,以上就是“Java字符串、数组和二叉搜索树实例代码分析”的内容了,经过本文的学习后,相信大家对Java字符串、数组和二叉搜索树实例代码分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
新闻标题:Java字符串、数组和二叉搜索树实例代码分析
文章URL:http://azwzsj.com/article/jeoogc.html