zoukankan      html  css  js  c++  java
  • 剑指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)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    js正则表达式中的问号使用技巧总结
    380. Insert Delete GetRandom O(1)
    34. Find First and Last Position of Element in Sorted Array
    162. Find Peak Element
    220. Contains Duplicate III
    269. Alien Dictionary
    18. 4Sum
    15. 3Sum
    224. Basic Calculator
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/make-big-money/p/12291698.html
Copyright © 2011-2022 走看看