12.數值的整數次方
題目描述:
給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。
思路1:
n的a次冪,3種情況
a > 0,正常算
a = 0,永遠都是1
a < 0,正常算的倒數
public
class
solution
if(exponent<0)
return result;
}}
思路2:
//n為偶數,a^n=a^n/2*a^n/2;n為奇數,a^n=(a^(n-1)/2)*(a^(n-1/2)
public
class
solution
}
13.調整陣列順序使奇數字於偶數前面
題目描述
輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
思路:相對位置不變—>保持穩定性;奇數字於前面,偶數字於後面 —>存在判斷,挪動元素位置;
這些都和內部排序演算法相似,考慮到具有穩定性的排序演算法不多,例如插入排序,歸併排序等;這裡採用插入排序的思想實現。
public
class
solution
k++;}
}}}
14.鍊錶中倒數第k個節點
題目描述:
輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。
思路1:暴力a迴圈兩次搞定,沒難度不符**了
思路2:快慢指標
**實現:
/*
public class listnode
}*/public
class
solution
k--;}
//如果節點個數小於所求的倒數第k個節點,則返回空
if(countreturn null;
return pre;
}}
15.反轉鍊錶
題目描述
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。
思路:迴圈實現,前3個反轉下就好了
public
class
solution
//如果head為null的時候,pre就為最後乙個節點了,但是鍊錶已經反轉完畢,pre就是反轉後鍊錶的第乙個節點
//直接輸出pre就是我們想要得到的反轉後的鍊錶
return pre;
}}
劍指offer Java 替換空格
注意點 public class solution int indexold str.length 1 indexold為為替換前的str下標 int newlength str.length spacenum 2 計算空格轉換成 20之後的str長度 int indexnew newlength ...
劍指Offer java實現 樹的子結構
題目 輸入兩顆二叉樹a,b,判斷b是不是a的子結構。思路 1 在樹a中找到和數b的根節點相同的節點 可以利用前序遍歷a樹中的節點,找到和b樹的根節點相同的節點。2 在樹a中找到和樹b根節點相同的節點設為r 再對比節點r在樹b中的左孩子和右孩子是否和樹b中的節點相同。如果r節點的值和樹b中的節點的值不...
劍指offer JAVA版題解(全)
序號 題解牛客 oj 資料結構型別 03 劍指offer 二維陣列中的查詢 二維陣列中的查詢 陣列04 劍指offer 替換空格 替換空格 字串05 劍指offer 從尾到頭列印鍊錶 從尾到頭列印鍊錶 鍊錶06 劍指offer 重建二叉樹 重建二叉樹樹07 劍指offer 用兩個棧實現佇列 用兩個棧...