挑选字符串机试题java实现
时间: 2023-08-22 19:11:00 浏览: 41
当涉及字符串操作的机试题时,以下是一些常见的题目和对应的Java实现示例:
1. 判断字符串是否是回文串(Palindrome):
```java
public boolean isPalindrome(String s) {
if (s == null || s.length() == 0) {
return true;
}
int left = 0;
int right = s.length() - 1;
while (left < right) {
if (s.charAt(left) != s.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
```
2. 统计字符串中出现最多的字符及次数:
```java
public void countMaxOccurrence(String s) {
if (s == null || s.length() == 0) {
System.out.println("字符串为空");
return;
}
Map<Character, Integer> charCountMap = new HashMap<>();
for (char c : s.toCharArray()) {
charCountMap.put(c, charCountMap.getOrDefault(c, 0) + 1);
}
int maxCount = 0;
char maxChar = '\0';
for (Map.Entry<Character, Integer> entry : charCountMap.entrySet()) {
if (entry.getValue() > maxCount) {
maxCount = entry.getValue();
maxChar = entry.getKey();
}
}
System.out.println("出现最多的字符是:" + maxChar + ",出现次数为:" + maxCount);
}
```
3. 反转字符串中的每个单词:
```java
public String reverseWords(String s) {
if (s == null || s.length() == 0) {
return "";
}
String[] words = s.split(" ");
StringBuilder result = new StringBuilder();
for (String word : words) {
result.append(reverse(word)).append(" ");
}
return result.toString().trim();
}
private String reverse(String word) {
char[] chars = word.toCharArray();
int left = 0;
int right = chars.length - 1;
while (left < right) {
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
return new String(chars);
}
```
这些是一些常见的字符串机试题及其Java实现示例,希望对你有所帮助!当然,具体的题目要求可能会有所不同,你可以根据题目的具体要求进行相应的调整和实现。