zoukankan      html  css  js  c++  java
  • 链表操作合集

    链表节点定义:

    class ListNode///单链表节点
    {
    public:
        int val;
        ListNode *next;
        ListNode(int x): val(x),next(nullptr) {}
    };
    
    struct RandomListNode{///随机链表节点
            int label;
            RandomListNode *next,*random;
            RandomListNode(int x):label(x),next(nullptr),random(nullptr){}
    };
    
    class TreeNode {///树节点表示
        public:
        int val;
        TreeNode *left;
        TreeNode *right;
        TreeNode(int x): val(x),left(nullptr),right(nullptr){}
    };

    就地逆置

    ListNode* revOnPlace(ListNode *head)
        {
            ListNode dummy(-1);//假的头节点
            ListNode *curr = head;
    
            head = &dummy;
            while(curr)
            {
                ListNode *tmp = curr->next;
                curr->next = head->next;
                head->next = curr;
                curr = tmp;
            }
    
            return dummy.next;
        }
  • 相关阅读:
    枚举类 --单例模式
    模板设计模式
    动态代理
    反射应用--修改属性值
    通过反射绕过泛型
    java反射
    网络编程练习
    TCP编程
    GUI 聊天界面
    UDP传输多线程
  • 原文地址:https://www.cnblogs.com/li-daphne/p/5606849.html
Copyright © 2011-2022 走看看