• 输入一个链表,反转链表后,输出链表的所有元素。


    该题目来自剑指offer的面试题16.

    输入一个链表,反转链表后,输出链表的所有元素。

    思路如下:定义3个指针,分别指向当前结点,头一个结点,下一个结点,然后通过就地逆置即可。

    代码就不太解释了。不理解的,可以参考剑指offer的书,上面写得很详细。

    #include <stdio.h>
    #include <string.h>
    
    typedef struct Node{
        int num;
        struct Node *next;
    }NodeHead,*Nodes;
    
    void DeleteNode(Nodes head){
        
        if(head==NULL || head->next==NULL)
            return;
        Nodes pNode,pNext,pPre;
        //pPre = head;
        pNode = head->next;
        pPre = head;
        pPre->next = NULL;
        while(pNode->next!=NULL){
            pNext = pNode->next;
            pNode->next = pPre;
            pPre = pNode;
            pNode = pNext;
        }
        pNode->next = pPre;
        int i ;
        for(i = 0 ; i < 8 ;i++)
        {
            printf("%d",pNode->num);
            pNode = pNode->next;
        }
    }
    
    void main()
    {
        
        Nodes head = NULL;
         head = (Nodes)malloc(sizeof(NodeHead));
        head->next = NULL;
        int i ;
        for(i = 8 ;i >= 1 ; i--){
            Nodes node = (Nodes)malloc(sizeof(NodeHead));
            node->num = i;
            node->next = head->next;
            head->next = node;
        }
        
        DeleteNode(head);
        
        /**
        Nodes tmp2;
        tmp2 = head->next;
        for(i = 0 ; i <3 ; i++){
            printf("%d",tmp2->num);
            tmp2 = tmp2->next;
        }
        **/
        
        
        return 0;
    }
  • 相关阅读:
    python-IO编程
    DNS解析流程
    python-模块
    HTTP协议
    python-函数式编程
    nmap扫描结果的6种端口状态
    python-高级特性
    python-函数
    python-基础
    上传之路
  • 原文地址:https://www.cnblogs.com/CloudStrife/p/7275807.html
Copyright © 2020-2023  润新知