删除节点LCR136

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* deleteNode(struct ListNode* head, int val){
    struct ListNode* now = head->next;
    struct ListNode* pre = head;
      if( val == pre->val ){
       head = head->next;
       return head;
       }

     while(now){
    if( now->val ==val){
       pre->next = now->next;
            return head;
       }
       pre=pre->next;
       now=now->next;}

       return head;
  }

第一次,考虑不全,无法执行,逻辑不严谨

第二次,使用不存在的变量部分

第三次,考虑不全面,部分错误,10/37,不知道什么原因

第四次,去除那些不必要的,还是总有些顺序不对,5/37

第五次,看到别人的了,判断值相等只能==,否则会被更改,OK

猜你喜欢

转载自blog.csdn.net/m0_69916724/article/details/139453251
136