
题1.1290. 二进制链表转整数
只看了前两个示例,没发现是倒转的......
int getDecimalValue(struct ListNode* head){ struct ListNode* p; p = head; int sum = 0; while(p){ sum = sum * 2 + p->val; p = p->next; } return sum; }
题2.237. 删除链表中的节点
看第一眼蒙了,然后想到复制后面的节点......然后才想到把给的节点当前驱,复制后面的节点之后把后面的free了。
void deleteNode(struct ListNode* node) { struct ListNode* p; p = node->next; node->val = p->val; node->next = p->next ; free(p); }
题3.剑指 Offer II 024. 反转链表
struct ListNode* reverseList(struct ListNode* head){ struct ListNode* pre = NULL; struct ListNode* p = head; while(p){ struct ListNode* tmp; tmp = p->next; p->next = pre; pre = p; p = tmp; } return pre; }
题4.1019. 链表中的下一个更大节点
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)