91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言怎么刪除鏈表中的節點

發布時間:2021-08-26 15:46:46 來源:億速云 閱讀:720 作者:chen 欄目:大數據

這篇文章主要講解了“C語言怎么刪除鏈表中的節點”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C語言怎么刪除鏈表中的節點”吧!

請編寫一個函數,使其可以刪除某個鏈表中給定的(非末尾)節點,你將只被給定要求被刪除的節點。

現有一個鏈表 -- head = [4,5,1,9],它可以表示為:

4 -> 5 -> 1 -> 9

示例 1:

輸入: head = [4,5,1,9], node = 5
輸出: [4,1,9]
解釋: 給定你鏈表中值為 5 的第二個節點,那么在調用了你的函數之后,該鏈表應變為 4 -> 1 -> 9.

示例 2:

輸入: head = [4,5,1,9], node = 1
輸出: [4,5,9]
解釋: 給定你鏈表中值為 1 的第三個節點,那么在調用了你的函數之后,該鏈表應變為 4 -> 5 -> 9.

說明:

  • 鏈表至少包含兩個節點。

  • 鏈表中所有節點的值都是唯一的。

  • 給定的節點為非末尾節點并且一定是鏈表中的一個有效節點。

  • 不要從你的函數中返回任何結果。

上期的問題是:165,二叉搜索樹的最近公共祖先

1public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
2    while ((root.val - p.val) * (root.val - q.val) > 0)
3        root = p.val < root.val ? root.left : root.right;
4    return root;
5}

解析:

這個很好理解,只要while循環為true,那么p和q要么都在root的左子樹中,要么都在root的右子樹中,所以繼續往下找。當while中的循環為false的時候,那么p和q要么一個在root的左子樹一個在root的右子樹,要么p和q其中的一個是另一個的祖先節點(當while中條件語句的前面等于0的時候)。我們還可以改為遞歸的方式

1public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
2    return (root.val - p.val) * (root.val - q.val) <=0 ? root :
3            lowestCommonAncestor(p.val < root.val ? root.left : root.right, p, q);
4}

感謝各位的閱讀,以上就是“C語言怎么刪除鏈表中的節點”的內容了,經過本文的學習后,相信大家對C語言怎么刪除鏈表中的節點這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜黄县| 昭觉县| 贵港市| 温宿县| 凌海市| 西丰县| 华宁县| 治县。| 阳原县| 会宁县| 华蓥市| 铜山县| 赣榆县| 泾阳县| 突泉县| 西充县| 呼图壁县| 东山县| 利川市| 霍城县| 临漳县| 夏津县| 凤冈县| 腾冲县| 理塘县| 班玛县| 府谷县| 清水河县| 丽水市| 宣化县| 崇信县| 隆尧县| 西乌| 城步| 原平市| 大宁县| 顺平县| 新乡市| 宁明县| 霍城县| 阿拉善右旗|