zoukankan      html  css  js  c++  java
  • 删除链表的中间节点(C++实现)

    代码:

    #include <iostream>
    class Node {
    public:
      int value;
      Node* next;
      Node(int data){
        this->value = data;
      }
    };
    Node* removeMidNode(Node* head){
      if(head == nullptr||head->next == nullptr){
        return head;
      }
      if(head->next->next == nullptr){
        return head->next;
      }
      Node* pre = head;
      Node* cur = head->next->next;
      while(cur->next != nullptr&&cur->next->next != nullptr){
        pre = pre->next;
        cur = cur->next->next;
      }
      while(cur->next!=nullptr&&cur->next->next!=nullptr){
        pre = pre->next;
        cur = cur->next->next;
      }
      pre->next = pre->next->next;
      return head;
    }
    int main()
    {
      Node* node1 = new Node(1);
      Node* node2 = new Node(2);
      Node* node3 = new Node(3);
      Node* node4 = new Node(4);
      Node* node5 = new Node(5);
      Node* head = node1;
      head->next = node2;
      node2->next = node3;
      node3->next = node4;
      node4->next = node5;
      node5->next = NULL;
      Node* cur = head;
      while(cur!=nullptr){
        std::cout << cur->value << ' ';
        cur = cur->next;
      }
     removeMidNode(head);
      std::cout  << ' ';
      Node* tem = head;
      while(tem!=nullptr)
      {
        std::cout << tem->value << ' ';
        tem = tem->next;
      }
    }
     
    测试结果:
     
     
  • 相关阅读:
    冲刺阶段站立会议每天任务7
    冲刺阶段站立会议每天任务6
    冲刺阶段站立会议每天任务5
    冲刺阶段站立会议每天任务4
    《梦断代码》读后感一
    第一次冲刺项目总结
    书店促销问题
    用户需求调研报告
    需求分析
    返回二维数组最大子数组的和(2)
  • 原文地址:https://www.cnblogs.com/shiheyuanfang/p/13494094.html
Copyright © 2011-2022 走看看