• 剑指offer知识点——C++之ListNode


    单链表,弄清楚可stl中list的区别

    ListNode的结构

    struct ListNode {
          int val;  //当前结点的值
          ListNode *next;  //指向下一个结点的指针
          ListNode(int x) : val(x), next(NULL) {}  //初始化当前结点值为x,指针为空   //初始化支持 ListNode(int x)这种方式,即 把x赋给val,next赋值NULL。
      };

    如何向ListNode中插入新的结点:从键盘输入

    复制代码
    ListNode* temp1 = new Solution::ListNode(0); //创建新元素,
    ListNode* l1 = temp1; //最后的结果l1指向temp1,这样可以获取temp所接收的全部元素,而temp的指针由于每次都往下移,所以每次都更新
    
    while ((c = getchar()) != '
    ')   //以空格区分各个结点的值
            {
                if (c != ' ')
                {
                    ungetc(c, stdin);  //把不是空格的字符丢回去
                    cin >> num;
                    Solution::ListNode* newnode = new Solution::ListNode(0);
                    newnode->val = num;//创建新的结点存放键盘中读入的值
                    newnode->next = NULL;
                    temp2->next = newnode;//并将其赋值给temp2
                    temp2 = newnode; //此处也可以写成  temp2=temp2->next,使指针指向下一个,以待接收新元素
                }
            }
    复制代码

    逆序输出所有元素

    复制代码
    void  Solution::reversePrintListNode(ListNode* head)
    {
        if (head == nullptr) return;
         cout << head->val; //顺序输出
        reversePrintListNode(head->next);  
        cout << head->val; //逆序输出
       
    }
    复制代码
    带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    软件測试培训笔记
    spring test---測试SpringMvc初识
    第1章第3节 线性表的比較
    Remove Duplicates from Sorted List leetcode
    泛型
    我的改进版2048(1)
    docker镜像和加速
    在 Azure Web 应用中创建 PHP 应用程序
    使用 Azure 门户创建 Windows 虚拟机
    使用 Azure 门户创建 Linux 虚拟机
  • 原文地址:https://www.cnblogs.com/make-big-money/p/12291698.html
Copyright © 2020-2023  润新知