今天终于完成拖欠的作业,嘻嘻,加油。
1323. 6 和 9 组成的最大数字
class Solution {
public int maximum69Number (int num) {
int temp = num;
int index = 0;
int flag = -1;
while(temp>0){
if(temp%10==6){
flag = index;
}
index++;
temp = temp/10;
}
if(flag == -1){
return num;
}
int left = num/(int)(Math.pow(10,(flag+1)));
int right =num%(int)(Math.pow(10,flag));
//System.out.println("flag:"+flag+";left:"+left+";right:"+right);
return (int)(left*Math.pow(10,(flag+1))+9*Math.pow(10,flag)+right);
}
}
1324. 竖直打印单词
class Solution {
public List<String> printVertically(String s) {
List<String> res = new ArrayList<String>();
String [] strs = s.split(" ");
int maxLen = 0;
int size = strs.length;
for(int i=0;i<size;i++){
if(maxLen<strs[i].length()){
maxLen = strs[i].length();
}
}
for(int i=0;i<maxLen;i++){
StringBuilder tempStr = new StringBuilder();
for(int j=0;j<size;j++){
if(i>=strs[j].length()){
tempStr.append(' ');
}else{
tempStr.append(strs[j].charAt(i));
}
}
//System.out.println(tempStr);
String ss = trimEnd(tempStr);
res.add(ss);
}
return res;
}
private static String trimEnd(StringBuilder sb) {
char[] val = sb.toString().toCharArray();
int len = val.length;
while ((len>0) && (val[len - 1] == ' ')) {
len--;
}
return new String(val).substring(0, len);
}
}
1325. 删除给定值的叶子节点
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode removeLeafNodes(TreeNode root, int target) {
// System.out.println("value:"+root.val);
if(root==null){
return null;
}
if(root.left!=null){
root.left = removeLeafNodes(root.left,target);
}
if(root.right!=null){
root.right =removeLeafNodes(root.right,target);
}
if(root.left==null && root.right==null){
if(root.val == target){
// System.out.println("delete root:"+root.val);
root = null;
}
}
return root;
}
}