21xrx.com
2025-07-05 21:41:05 Saturday
文章检索 我的文章 写文章
为Java面试做好准备:代码案例分享
2023-06-16 12:48:00 深夜i     20     0
Java 面试 准备

在准备Java面试的过程中,练习编写代码是一个非常重要的环节。下面将分享一些常见面试题的代码案例,帮助大家更好地准备面试。

1. 实现快速排序算法

快速排序是一种常见的排序算法,其时间复杂度为O(nlogn)。下面是一个使用Java实现快速排序的例子:

public static void quickSort(int[] arr, int left, int right) {
  if (left < right) {
    int i = left, j = right, pivot = arr[left];
    while (i < j) {
      while (i < j && arr[j] > pivot)
        j--;
      
      if (i < j) {
        arr[i++] = arr[j];
      }
      while (i < j && arr[i] <= pivot) {
        i++;
      }
      if (i < j) {
        arr[j--] = arr[i];
      }
    }
    arr[i] = pivot;
    quickSort(arr, left, i - 1);
    quickSort(arr, i + 1, right);
  }
}

2. 如何反转一个链表

反转链表是一个常见的面试题目,下面是一个使用Java实现反转链表的例子:

public ListNode reverseList(ListNode head) {
  if (head == null || head.next == null) {
    return head;
  }
  ListNode p = reverseList(head.next);
  head.next.next = head;
  head.next = null;
  return p;
}

3. 实现二叉树的前序遍历

二叉树的遍历是一个常见的面试题目,下面是一个使用Java实现二叉树前序遍历的例子:

public List
  preorderTraversal(TreeNode root) {
 
  List
  res = new ArrayList<>();
 
  if (root == null) {
    return res;
  }
  Stack
  stack = new Stack<>();
 
  stack.push(root);
  while (!stack.isEmpty()) {
    TreeNode node = stack.pop();
    res.add(node.val);
    if (node.right != null) {
      stack.push(node.right);
    }
    if (node.left != null) {
      stack.push(node.left);
    }
  }
  return res;
}

  
  

评论区