讨论社区

其实AC的代码未必完全正确...

只是想说一下...其实这也不能算bug吧,毕竟OJ系统不能覆盖所有的测试样例,有时候你要真的钻个空子,OJ的测试样例不一定刚好能检查到,e.g,82. Remove Duplicates from Sorted List II,虽然知道逻辑是不完全对的,但以下代码能AC,如果输入链表头节点值和初始的same相同,那它将会被删掉,比如输入为[1000000000,1],输出为[1],但应该是[1000000000,1]。所以写代码还是要自己把逻辑都想清楚,把各种情况都想到位,不能AC了就认为完全正确了

class Solution {
public:
    int same=1000000000;
    ListNode* deleteDuplicates(ListNode* head) {        
        if(!head)return head;        
        if(head->val==same){          
          return deleteDuplicates(head->next);        
        }        
        if(!head->next)return head;        
        ListNode *pre=head,*cur=pre->next;        
        if(pre->val==cur->val){            
            same=pre->val;            
            return deleteDuplicates(cur->next);        
        }        
        else{            
            pre->next=deleteDuplicates(cur);            
            return pre;        
        }    
    }
};

0 人关注了该问题 关注

0

feiceh • 1周前

有道理啊,赞一个!

0 个讨论

您需要登录后才可回复
您需要登录后才可以回复