Java面試,機考題整理
面試常見的基本問題-02
其實就是leetcode easy題,把常見的盡量做一做吧
反轉字串
/**
* 輸入 'abcde' 輸出 'edcba'
*/
private static String reverseStr(String str) {
String result = "";
for (int i = str.length(); i >= 1; i--) {
result = result + str.charAt(i - 1);
}
return result;
}
是否迴文
private boolean isPal(String str) {
String newStr = new StringBuilder(str).reverse().toString();
return str.equals(newStr);
}
FizzBuzz
/**
* FizzBuzz
* 給一個整數 n 請列印出 1~n 的每一個整數, 但是
* 當整數可以被 3 整除的時候印出 Fizz 來代替原本要印出的數,
* 當整數可以被 5 整除的時候印出 Buzz 來代替原本要印出的數,
* 當整數可以被 3 跟 5 整除的時候印出 FizzBuzz 來代替原本原本要印出的數。
*/
private static void printFizzBuzz(int n) {
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 && i % 5 == 0) {
System.out.println("FizzBuzz");
}
if (i % 3 == 0) {
System.out.println("Fizz");
}
if (i % 5 == 0) {
System.out.println("Buzz");
}
System.out.println(i);
}
}
首字大寫
/**
* 把一串小寫英文,每個英文單字第一個字母大寫
*/
private static String toUpperCase(String str) {
String res = "";
// 第一個總要變大
res += Character.toString(str.charAt(0)).toUpperCase();
// 遍歷
for (int i = 1; i < str.length(); i++) {
// 遇到空格下個字就變大
if (Character.toString(str.charAt(i - 1)).equals(" ")) {
res += Character.toString(str.charAt(i)).toUpperCase();
} else {
// 沒事的維持小寫
res += Character.toString(str.charAt(i));
}
}
return res;
}
費氏數列
/**
* 費波納數列
*/
private static int fibona(int n) {
if (n <= 1) {
return n;
}
return fibona(n - 1) + fibona(n - 2);
}
上次修改於 2022-02-17