Recerse linked list by block

来源:互联网 发布:js正则数字和字母 编辑:程序博客网 时间:2024/05/19 16:50
//Reverse linklist in block
//eg. block size is 3 and list is
//1 2 3 4 5 6 7 8
//Output: 3 2 1 6 5 4 8 7

LNK_NODE*  ReverseByBlock(LNK_NODE* pHead ,int nBlockSize)

LNK_NODE* ReverseByBlock(LNK_NODE* pHead, int nBlockSize){        LNK_NODE *curNode = pHead, *preNode = NULL;        for(int i = 0; i < nBlockSize && curNode; i++) {                LNK_NODE *temp = curNode->next;                curNode->next = preNode;                preNode = curNode;                curNode = temp;        }        if(curNode)                pHead->next = ReverseByBlock(curNode, nBlockSize);        return preNode;}


0 0
原创粉丝点击