String easy 结束日

时间:2022-08-27 20:59:55

(1)Compare Version Numbers

String easy 结束日

解题思路:把字符串分割成字符串数组,然后取两个字符串数组的最大长度,从数组的第一个元素开始比较,注意把String型转换成Int型(Integer.parseInt)进行比较。

代码如下:

 public class Solution {
public int compareVersion(String version1, String version2) {
String[] v1 = version1.split("\\.");
String[] v2 = version2.split("\\."); int longest = v1.length > v2.length ? v1.length : v2.length; for(int i=0; i<longest; i++)
{
int ver1 = i < v1.length ? Integer.parseInt(v1[i]) : 0;
int ver2 = i < v2.length ? Integer.parseInt(v2[i]) : 0; if(ver1 > ver2) return 1;
if(ver1 < ver2) return -1;
}
return 0;
}
}

(2)ZigZag Conversion

String easy 结束日

代码如下:

 public class Solution {
public String convert(String s, int numRows) {
char[] c = s.toCharArray();//字符串转换成字符数组
int len = c.length;
StringBuffer[] sb = new StringBuffer[numRows];
for (int i = 0; i < sb.length; i++) {
sb[i] = new StringBuffer();
} int i = 0;
while (i < len) {
for (int idx = 0; idx < numRows && i < len; idx++) // 垂直向下
sb[idx].append(c[i++]);
for (int idx = numRows-2; idx >= 1 && i < len; idx--) // 倾斜向上
sb[idx].append(c[i++]);
}
for (int idx = 1; idx < sb.length; idx++)
sb[0].append(sb[idx]);
return sb[0].toString();
}
}

解题思路:StringBuffer类的使用。