网站建设合同法,企业网站推广论述,万业网网站建设审核,中企动力值不值得入职StringBuilder和StringBuffer的区别
1. StringBuffer和StringBuilder都是用于字符串动态拼接,但是StringBuffer拼接的函数方法的实现中用了synchornized上锁#xff0c;效率较低#xff0c;不过可以用于多线程以此来维护线程安全#xff1b;相比之下#xff0c;StringBuil…StringBuilder和StringBuffer的区别
1. StringBuffer和StringBuilder都是用于字符串动态拼接,但是StringBuffer拼接的函数方法的实现中用了synchornized上锁效率较低不过可以用于多线程以此来维护线程安全相比之下StringBuilder是单线程多线程下线程不安全
lc06 class Solution{public String convert(String s,int numRows){//1.如果字符串长度小于2则按原路返回if(numRows2) return s;//2.首先创建一个集合StrRows将s中的字符添加到集合当中按照N从上到下从左到右的顺序 ListStringBuffer StrRowsnew ArrayListStringBuffer();int i0,flag-1;for(char c;s.toCharArray()){//2.1将字符c一个个添加到集合当中的各个子串中StrRows.get(i).append(c);//2.2若当前行为第一行或者最后一行需要改变方向——为后面添加字符作铺垫if(i0||inumRows-1) flag-flag;iflag;//3.从StrRows中的每个子串进行拼接成一个新的大串StringBuilder result;for(StringBuilder s_row:StrRows){result.append(s_row);}}return result.toString();
}
}///法二不要忘记ArrayListStringBuilder strListsStringBuilder是一个包装类需要按照所需行数(numRows),strLists.add(new StirngBuilder())
//StringBuilder,StringBuffer这些包装类转为字符串可以利用toString()直接转public String convert(String s,int numRows){if(numRows2) return s;//1.创建集合存入s的字符char[] cs.toCharArray();ArrayListStringBuilder strLists new ArrayList(); //存储输入字符最后横取字符串拼接即可for (int i 0; i numRows; i) {strLists.add(new StringBuilder());}int count0;//层数int flag-1;//作方向的变换for (int i 0; i c.length; i) {strLists.get(count).append(c[i]);if(count0||countnumRows-1) flag-flag; //当输入的字符到达第一层或者最后一层时需要作出方向改变--变成-某变量即可改变变量的正负即可countflag;}//2.横取集合字符串拼接StringBuilder resnew StringBuilder();for (int i 0; i numRows; i) {res.append(strLists.get(i));}return res.toString();}lc08字符串转换为整数 关键 分为三个点1.去掉前面的空格 2.抓住符号位±以及默认状态注意是否拥有±对数字位的影响3.遍历数字位获得数字 4.以及当遇到非数字时直接返回
class Solution {public int myAtoi(String s) {char[] c s.trim().toCharArray();if (c.length 0) return 0;int res 0, bndry Integer.MAX_VALUE / 10;int i 1, sign 1;if (c[0] -) sign -1;else if (c[0] ! ) i 0;for (int j i; j c.length; j) {if (c[j] 0 || c[j] 9) break;if (res bndry || res bndry c[j] 7) return sign 1 ? Integer.MAX_VALUE : Integer.MIN_VALUE;res res * 10 (c[j] - 0);}return sign * res;}
}lc09 是否为回文整数
public boolean reverse3(int num) {int temp num;int result 0;while (temp ! 0) {int last temp % 10;result result * 10 last;temp / 10;}return num result;}