21xrx.com
2025-04-02 22:39:35 Wednesday
文章检索 我的文章 写文章
Java经典面试编程题大揭秘
2023-06-10 18:33:04 深夜i     16     0
Java编程题 面试 经典

在Java开发岗位的面试中,编程题是必不可少的环节。Java编程题涉及的面广,数量多。下面我们介绍一些经典的Java面试编程题,帮助大家全面掌握Java编程技能。

1. 求数组中的最大值和最小值

在Java中,我们可以使用Arrays类的sort方法对数组进行排序,然后取出最大值和最小值。示例代码如下:

import java.util.Arrays;
public class MaxAndMin {
  public static void main(String[] args) {
    int[] arr = 7;
    Arrays.sort(arr);
    System.out.println("最大值:" + arr[arr.length - 1]);
    System.out.println("最小值:" + arr[0]);
  }
}

2. 实现链表反转

链表反转是常见的Java编程题。我们可以使用一个pre节点作为前指针,一个cur节点作为当前节点,依次遍历链表,将当前节点的next指针指向前一个节点,实现链表反转。示例代码如下:

class ListNode {
  int val;
  ListNode next;
  ListNode(int x)
    val = x;
  
}
public class ReverseLinkedList {
  public ListNode reverseList(ListNode head) {
    ListNode pre = null, cur = head;
    while (cur != null)
      ListNode next = cur.next;
      cur.next = pre;
      pre = cur;
      cur = next;
    
    return pre;
  }
}

3. 实现二叉树遍历

二叉树遍历是Java编程中常见的问题。二叉树有前序遍历、中序遍历和后序遍历三种遍历方式。我们可以使用递归或者栈来实现二叉树的遍历。示例代码如下:

class TreeNode {
  int val;
  TreeNode left;
  TreeNode right;
  TreeNode(int x)
    val = x;
  
}
public class BinaryTreeTraversal {
  // 前序遍历
  public void preOrder(TreeNode node) {
    if (node == null)
      return;
    System.out.print(node.val + " ");
    preOrder(node.left);
    preOrder(node.right);
  }
  // 中序遍历
  public void inOrder(TreeNode node) {
    if (node == null)
      return;
    inOrder(node.left);
    System.out.print(node.val + " ");
    inOrder(node.right);
  }
  // 后序遍历
  public void postOrder(TreeNode node) {
    if (node == null)
      return;
    postOrder(node.left);
    postOrder(node.right);
    System.out.print(node.val + " ");
  }
}

综上所述,以上是Java编程中的三个经典面试编程题,包括求一个数组的最大值和最小值、链表反转和二叉树遍历。希望这对您的面试有所帮助,同时也提高了您的Java编程技能。

  
  

评论区

    相似文章