2026/5/21 14:45:06
网站建设
项目流程
安徽企业网站建设,网络维护这个工作好吗,贵州专业网站建设费用,软件工程师的薪资待遇Problem: 817. Linked List Components 链表组件 解题过程 耗时100%#xff0c;状态标记的#xff0c;对nums内的数字标记true#xff0c;然后一次遍历链表即可#xff0c;前一个状态pre false#xff0c;若当前status[ptr-val] true pre false则计数1状态标记的对nums内的数字标记true然后一次遍历链表即可前一个状态pre false若当前status[ptr-val] true pre false则计数1向后延伸就行了Code/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: bool status[10001]; int numComponents(ListNode* head, vectorint nums) { memset(status, 0, sizeof(status)); for(int i 0; i nums.size(); i) { status[ nums[i] ] true; } ListNode *ptr, *tmp; ptr head; bool pre false; int cnt 0; while(ptr!nullptr) { if(status[ptr-val] true pre false) { cnt; } pre status[ptr-val]; ptr ptr-next; } return cnt; } };