7 15題目總結

2021-10-01 01:43:07 字數 1445 閱讀 6613

輸入一顆二叉樹的根節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,陣列長度大的陣列靠前)

遞迴先序遍歷樹, 把結點加入路徑;

若該結點是葉子結點則比較當前路徑和是否等於期待和;

彈出結點,每一輪遞迴返回到父結點時,當前路徑也應該回退乙個結點

//遞迴先序遍歷樹, 把結點加入路徑。

//若該結點是葉子結點則比較當前路徑和是否等於期待和。

//彈出結點,每一輪遞迴返回到父結點時,當前路徑也應該回退乙個結點

private arraylist> listall = new arraylist<>();

private arraylistlist = new arraylist<>();

public arraylist> findpath1(node root, int target)

findpath1(root.left, target);

findpath1(root.right, target);

//無論當前路徑是否加出了target,必須去掉最後乙個,然後返回父節點,

//去查詢另一條路徑,最終的path肯定為null

list.remove(list.size() - 1);

return listall;

}

輸入乙個複雜鍊錶(每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點),返回結果為複製後複雜鍊錶的head。(注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空)

遍歷一遍,按鍊錶next順序將每乙個節點依次複製,複製的節點在原節點的next(插入到原煉表中);遍歷一遍,確定每乙個節點的random指標;遍歷一遍,斷掉複製的連線,生成兩個新的鍊錶

關鍵在於時間複雜度o(n)和空間複雜度o(c)

public class clonecomplexlinkedlisttest 

public randomlistnode clone(randomlistnode phead)

public void clone1(randomlistnode phead)

}public void clone2(randomlistnode phead)

head = node.next;}}

public randomlistnode clone3(randomlistnode phead)

while (head != null)

return clonehead;

}}class randomlistnode

}

PTA 基礎程式設計題目集 7 15

迴圈判斷當前項是否大於給定閾值,大於就將當前項累加到結果中,否則繼續。如何計算當前項?n為偶數,分母小於n的因子都被約掉了 frac n為奇數,分母小於等於n的因子被約掉了 frac 是否可行呢,我們先看具體的項數 n 4,5,6 情況。n 4 frac n 5 frac n 6 frac 觀察可知...

基礎程式設計題目集 7 15 計算圓周率

根據下面關係式,求圓周率的值,直到最後一項的值小於給定閾值。輸入格式 輸入在一行中給出小於1的閾值。輸出格式 在一行中輸出滿足閾值條件的近似圓周率,輸出到小數點後6位。輸入樣例 0.01 輸出樣例 3.132157 1 根據題目要求中計算pi的式子,可以將其分解為以下幾個部分 1 整個式子 是分式項...

7 15學習筆記

在需要加回車換行的地方加入 標籤作用相當於word文件中的回車。有時會需要加一些用於分隔的橫線大家注意,現在一般使用 xhtml1.0 的版本 其它標籤也是 這種版本比較規範。這些聯絡位址資訊如公司的位址就可以位址標籤。也可以定義乙個位址 比如電子郵件位址 簽名或者文件的作者身份。避免不了在網頁中顯...