中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

蓬莱市| 莱芜市| 开江县| 察隅县| 内丘县| 科尔| 濮阳县| 东乡| 东方市| 建湖县| 信宜市| 灵台县| 清河县| 永定县| 泽普县| 长治市| 彰武县| 建瓯市| 嵊泗县| 株洲市| 瑞金市| 莱芜市| 射阳县| 鸡东县| 商都县| 中西区| 安阳县| 桐城市| 山阳县| 南雄市| 垣曲县| 嵩明县| 岳西县| 华宁县| 卢湾区| 德令哈市| 澄城县| 芒康县| 盐池县| 绵阳市| 峨山|