Java 代码题全解密:进阶你的编程技能121


Java 作为一种面向对象的编程语言,广受开发者好评,其强大的功能性和灵活性使其成为企业级应用的首选。为了提升 Java 编码能力,解决代码题是必不可少的。本文将深入解析 10 道 Java 代码题,涵盖基础到进阶概念,帮助你精进编程技能。

1. 编写代码反转一个整数
public int reverse(int num) {
int reversedNum = 0;
while (num != 0) {
reversedNum = reversedNum * 10 + num % 10;
num /= 10;
}
return reversedNum;
}

2. 找出数组中的最大和最小值
public int[] findMinMax(int[] arr) {
int min = arr[0];
int max = arr[0];
for (int i = 1; i < ; i++) {
if (arr[i] < min) {
min = arr[i];
} else if (arr[i] > max) {
max = arr[i];
}
}
return new int[]{min, max};
}

3. 检查一棵二叉树是否对称
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
}
return isMirror(, );
}
private boolean isMirror(TreeNode left, TreeNode right) {
if (left == null && right == null) {
return true;
} else if (left == null || right == null) {
return false;
} else if ( != ) {
return false;
}
return isMirror(, ) && isMirror(, );
}

4. 计算斐波那契数列的第 n 项
public int fib(int n) {
if (n pivot) {
right[rightIndex] = arr[i];
rightIndex++;
}
}
quickSort(left);
quickSort(right);
(left, 0, arr, 0, leftIndex);
(right, 0, arr, leftIndex, rightIndex);
}
}

9. 检查两个字符串是否互为异位词
public boolean isAnagram(String s, String t) {
if (() != ()) {
return false;
}
int[] charCount = new int[256];
for (char c : ()) {
charCount[c]++;
}
for (char c : ()) {
charCount[c]--;
}
for (int count : charCount) {
if (count != 0) {
return false;
}
}
return true;
}

10. 编写代码计算一个给定范围内的质数个数
public int countPrimes(int n) {
boolean[] isPrime = new boolean[n + 1];
(isPrime, true);
isPrime[0] = false;
isPrime[1] = false;
for (int i = 2; i < (n); i++) {
if (isPrime[i]) {
for (int j = i * i; j < n; j += i) {
isPrime[j] = false;
}
}
}
int count = 0;
for (int i = 2; i < n; i++) {
if (isPrime[i]) {
count++;
}
}
return count;
}

结 语通过解决这些代码题,你可以熟练掌握 Java 基础,并提高解决问题的能力。持续的练习和钻研是精进编程技能的关键。祝你代码无 Bug,编程愉快!

2024-10-13


上一篇:Java 代码示例:从初学者到进阶

下一篇:Java 字符集详解:编码、解码与字符操纵