当前位置: 首页 > news >正文

西安网站制作平台建立一个网页需要多少钱

西安网站制作平台,建立一个网页需要多少钱,网店推广工作内容,安徽省工程建设信息网网站链表解题技巧 额外的数据结构(哈希表);快慢指针;虚拟头节点; 反转链表 分别实现单向链表和双向链表的反转。 要求:长度为N的链表,时间复杂度为O(N),额外空间复杂度为O(1)。 反转…

链表解题技巧

  • 额外的数据结构(哈希表);
  • 快慢指针;
  • 虚拟头节点;

反转链表

分别实现单向链表和双向链表的反转。

要求:长度为N的链表,时间复杂度为O(N),额外空间复杂度为O(1)。

反转单向链表:

方法1(使用栈,时:O(N),空:O(N)):

  1. 第一次遍历将数据添加至栈中;
  2. 定义一个空节点,tmp记录,cur指向该节点;
  3. 栈不为空开始循环出栈:
    1. cur的next指向的栈顶元素;
    2. 栈顶元素出栈;
    3. cur移动到next的位置;
  4. cur现在在最后一个位置,将其next赋值为nullptr;
  5. cur指向tmp(空节点)的next位置,并删除tmp;
  6. 返回cur(新的头节点);
LinkedNode* LinkedList::reverseWithStack(LinkedNode *head) {if (head == nullptr || head->next == nullptr) {return head;}std::stack<LinkedNode*> stk;LinkedNode* cur = head;while (cur) {stk.push(cur);cur = cur->next;}LinkedNode* tmp = new LinkedNode();cur = tmp;while (!stk.empty()) {cur->next = stk.top();stk.pop();cur = cur->next;}cur->next = nullptr;cur = tmp->next;delete tmp;return cur;
}

方法2(双指针,时:O(N),空:O(1)):

双指针解法:

  1. 定义两个指针new_head,cur,初始new_head指向head,cur指向head的next;
  2. cur不为nullptr则开始循环:
    1. head的next赋值为cur的next;
    2. cur的next赋值为new_head;
    3. new_head移动到cur;
    4. cur移动到head的next;
  3. 最后返回new_head即可。
LinkedNode* LinkedList::reverse(LinkedNode *head) {if (head == nullptr || head->next == nullptr) {return head;}LinkedNode *new_head = head;LinkedNode *cur = head->next;while (cur) {head->next = cur->next;cur->next = new_head;new_head = cur;cur = head->next;}return new_head;
}

反转双链表

DoubleLinkedNode* LinkedList::reverseDoubleLinkedList(DoubleLinkedNode *head) {if (head == nullptr || head->next == nullptr) {return head;}DoubleLinkedNode *pre = head;DoubleLinkedNode *cur = head->next;while (cur) {DoubleLinkedNode *tmp = pre->next;pre->next = pre->pre;pre->pre = tmp;pre = cur;cur = cur->next;}return pre;
} 
http://www.yayakq.cn/news/61700/

相关文章:

  • 品牌网站建设市场品牌设计理念
  • 哪个网站买域名便宜简述网站建设的基本流程
  • wordpress什么环境速度wordpress加速优化服务器
  • 企业电子网站建设网页设计教程ppt封面图片
  • 无锡网站建设解决方案网络营销的四种模式
  • 网站开发第三方登录设计京山大洪山旅游开发有限公司 做网站
  • 电子商务网站建设软件阿里巴巴采购网官网
  • 直播课网站怎样做的买商标价格一览表
  • 长春朝阳网站建设温州网站建设服务中心
  • 如何注册个人网站商标设计软件免费版
  • 笔趣阁建站教程wordpress导航 t
  • 成都网站制作公司报价上海站群优化
  • 网站域名备案认证wordpress导出导入
  • 太仓住房城乡建设网站wordpress文章末尾添加评价功能
  • 做外汇有哪些正规的网站杭州设计公司老总
  • 上海专业做网站的公司有哪些ip138域名网址查询
  • 网站开发的软 硬件环境标准vue加wordpress
  • 网站添加关键词会不会重庆网站定制哪家好
  • 网站主页图片加入google广告wordpress
  • 深圳罗湖医疗集团网站建设做ui要上那些网站
  • 西宁做网站君博先进沈阳模板建站系统
  • 青岛网站设计公司网站建设经验交流发言
  • 施工员证查询官方网站织梦模板网站
  • 百度没有收录我的网站可以建设个人网站
  • 网站建设性能指标wordpress怎么编辑导航菜单
  • 金光华网站建设微网站在哪个平台上搭建好 知乎
  • 建设部证书公布网站阿里巴巴域名购买
  • 天山网站个人网店搭建思路设计
  • 移动端网站教程济南建设网站 概况
  • 接网站建设单子学室内设计前景如何