Table of Contents
List<Integer>怎么转换成int[]
List<Integer> resultList=new ArrayList<Integer>();
int[] result=resultList.stream().mapToInt(Integer::intValue).toArray();
32 位的有符号整数反转
public int reverse(int x) {
String str = String.valueOf(x);
String revStr = "";
int result=0;
if (str.charAt(0) == 45) {
revStr=new StringBuffer(str.substring(1)).reverse().toString();
revStr="-"+revStr;
} else {
revStr = new StringBuffer(str).reverse().toString();
}
try {
result = Integer.parseInt(revStr);
}catch (Exception e){
return 0;
}
return result;
}
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
字符串反转 (直接在原数组上修改)
public void reverseString(char[] s) {
int left = 0;
int right = s.length - 1;
char temp = 0;
if (s.length > 0) {
do {
temp = s[left];
s[left] = s[right];
s[right] = temp;
left++;
right--;
} while (left < right);
}
}
示例 1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]
示例 2:
输入:["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]
找出第一个只出现一次的字符
public char firstUniqChar(String s) {
char result = ' ';
for (int i = 0; i < s.length(); i++) {
if (s.length() == 1) {
result = s.charAt(0);
break;
}
if (i < s.length() - 1 && s.substring(i + 1).indexOf(s.charAt(i)) == -1) {
result = s.charAt(i);
break;
}
s = s.replaceAll(String.valueOf(s.charAt(i)), "");
i--;
}
return result;
}
示例 1:
输入:"abaccdeff"
输出:'b'
示例 2:
输入:"cc"
输出:' '
实例3:
输入:"z"
输出:'z'
实例4:
输入:"aadadaad"
输出:' '
实例5:
输入:"dddccdbba"
输出:'a'