一、名詞解釋
迴文串
正讀和反瀆都是一樣的字符串,如“level”、“noon”。
二、值得記下的思路
1 從尾到頭打印鏈表
關鍵思路:
1、按順序遍歷鏈表,並用一個ArryList存儲下來;
2、按倒序遍歷用來存儲順序鏈表的ArrayList,依次輸出。
1、Java中鏈表結構需要自行新建ListNode class去構造;
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
2、利用while循環,從第一個開始一次遍歷鏈表並存儲在arrylist中,最後一個數需要單獨判斷。
while(listNode.next != null){
list.add(listNode.val);
listNode = listNode.next;
}
//找到鏈表最後一個元素
if (listNode != null && listNode.next == null){
list.add(listNode.val);
}
2 數值的整數次方
關鍵思路:
1、Java與數學運算相關的函數都在Math類中,Math.pow(2,3)表示求2的3次方;
2、分四個條件判斷:底數和指數均等於0、僅指數等於0、僅指數大於0、僅指數小於0。
1、任何除0以外數的0次方都等於1,0的0次方沒有意義,所以需要對底數和指數做都爲0判斷;
2、分四個條件判斷:底數和指數均等於0、僅指數等於0、僅指數大於0、僅指數小於0;
3、用遞歸算次方
//base爲底數,exponent爲指數
double temp = 1;
//循環控制乘以次方的次數
for (int i = 0; i < exponent; i++){
temp = temp * base;
}
return temp;
3 反轉鏈表並輸出頭元素
關鍵思路:
1、單獨判斷鏈表爲空的情況;
2、遍歷鏈表,依次爲當前元素反轉指向,如當前元素1前面爲null,後面爲2,反轉指向:當前元素1前面爲2,後面爲null。