劍指offer13 將單向鍊錶反轉

2021-07-11 23:47:48 字數 702 閱讀 6137

題目:將乙個單向鍊錶反轉,輸入原始鍊錶的頭結點,返回反轉後鍊錶的頭結點

使用了兩種方式,第一種方式使用的是尾插法,建立乙個新的鍊錶,這個思路比較明確

第二種方式使用的是建立乙個前向結點,使鍊錶元素逐個反過來指。

package 劍指offer;

/*題目:定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。*/

public class test16

//

// system.out.println();

linklist list2 = reverselist2(head);

while(list2 != null) }

public static class linklist

public static linklist reverselist(linklist head)

return newlist.next;// 新鍊錶的第二個節點就是翻轉鍊錶的頭結點

} public static linklist reverselist2(linklist head)

return pre; // 因為將pre移動到了頭結點上,pre這裡就是head

}}

會了就不難了,這是廢話

劍指Offer(13) 複雜鍊錶的複製

題目描述 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 思路 關於鍊錶的相關操作一定要注意的就是指標的使用,遇到複雜的問題我們可以將問題...

劍指Offer 13剪繩子

public static int cuttingrope int n return max.remainder biginteger.valueof 1000000007 intvalue public static biginteger cutting int n,int m 不會有人比我瘋狂了...

劍指offer 13 最小的k個數

最小的k個數 輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,思路 可以先利用排序演算法進行排序,然後取出k個最小的數。排序演算法有冒泡 選擇 堆排序 歸併 快排等,為了練習這種排序演算法,我們用這些演算法一一求解本題。clas...