国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

lintcode-入門-刪除鏈表中的元素

2019-11-08 19:24:57
字體:
來源:轉載
供稿:網友

描述:刪除鏈表中等于給定值val的所有節點。

樣例:給出鏈表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回刪除3之后的鏈表:1->2->4->5

思路:

(1)首先判斷head是否為null,如果是null,則返回null即可。

(2)把頭結點賦給p對象,把head.next賦給q。

(3)當q不為空時進行判斷:如果q.val == val,就把q.next賦給p,next(讓p指向q的下一個節點)。

否則,p.next賦給p,q.next賦給q

(4)最后判斷一下head的值是否為要remove的值

AC代碼:

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    /**     * @param head a ListNode     * @param val an integer     * @return a ListNode     */    public ListNode removeElements(ListNode head, int val) {        if (head == null){            return head;        }        ListNode p = head;        ListNode q = head.next;        while (q != null) {            //如果值相等            if (q.val == val) {                p.next = q.next;                q = q.next;            }  else {                p = p.next;                q = q.next;            }        }        //最后判斷一下head的值是否為要remove的值        if (head.val == val)  {            head = head.next;        }        return head;    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴东县| 合作市| 鸡东县| 绥宁县| 秦皇岛市| 阳城县| 阿拉善盟| 丹巴县| 桂东县| 汉川市| 日土县| 大冶市| 塘沽区| 红原县| 鹿邑县| 乐都县| 阳东县| 武威市| 贡觉县| 纳雍县| 乾安县| 搜索| 菏泽市| 大足县| 新蔡县| 滦南县| 六盘水市| 沈丘县| 防城港市| 淮阳县| 宜宾市| 保德县| 改则县| 夏河县| 镇原县| 通山县| 晋中市| 姚安县| 双桥区| 汪清县| 扎赉特旗|