方法3:想法是首先迭代地反转链表,如下面的帖子所述:反转链表。反转后打印反转列表的前 k 个节点。打印后通过再次反转列表来恢复列表。 以下是上述方法的实现: C++ // C++ implementation to print the last k nodes // of linked list in reverse order #include using namespace std; // Structure of a nod...
迭代(非递归)算法描述: 设置两个临时指针prev和next分别标记当前结点的前驱和后继,将当前结点的next指针指向前驱,然后把前驱指针替换为当前结点,当前结点替换为next,即向“后”移动,直到链表空了(next为NULL)。 C/C++实现: 1typedefstruct_Node 2{ 3struct_Node* next; 4intdata; 5} List; 6 7List* reverse...