提供几个面试java代码笔试题,包含答案
时间: 2024-12-01 07:30:21 浏览: 14
100家大公司java面试题(包答案)
3星 · 编辑精心推荐
当然可以,这里提供一些常见的Java面试题目及其简短答案,注意这并不是完整的面试过程,而是用于展示基本的概念和技巧:
1. **问题:** 判断一个字符串是否是回文串 (正序读和反序读都一样)。
**答案:**
```java
public boolean isPalindrome(String str) {
int i = 0, j = str.length() - 1;
while (i < j) {
if (str.charAt(i) != str.charAt(j))
return false;
i++;
j--;
}
return true;
}
```
2. **问题:** 实现一个简单的单链表反转。
**答案:**
```java
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public ListNode reverseList(ListNode head) {
ListNode prev = null, curr = head;
while (curr != null) {
ListNode temp = curr.next;
curr.next = prev;
prev = curr;
curr = temp;
}
return prev;
}
```
3. **问题:** 使用Java实现快速排序算法。
**答案:**
```java
public void quickSort(int[] arr, int low, int high) {
if (low < high) {
int pivotIndex = partition(arr, low, high);
quickSort(arr, low, pivotIndex - 1);
quickSort(arr, pivotIndex + 1, high);
}
}
private int partition(int[] arr, int low, int high) {
int pivot = arr[high];
int i = (low - 1);
for (int j = low; j < high; j++) {
if (arr[j] <= pivot) {
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, high);
return (i + 1);
}
```
记得面试时不仅要写出代码,还要能解释思路和优化点。
阅读全文