刷編程題得出的總結

一、名詞解釋

迴文串
正讀和反瀆都是一樣的字符串,如“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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章