本题要求是删除链表指定结点 注意node为指定删除的结点
/**
1. Definition for singly-linked list.
2. struct ListNode {
3. int val;
4. struct ListNode *next;
5. };
*/
void deleteNode(struct ListNode* node)
{
node->val=node->next->val;
node->next=node->next->next;
}
本题思路很巧妙,之前,我们做的就是遍历结点,然后找到所要删除的结点,使该结点前一个指向该节点后一个,但本题思路是:
1.把node->next的值赋给node
2.使 node->next=node->next->next;
由于本题无法获得node前一个结点,所以赋值后删除node后一个结点