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

aspnet网站开发太原市住房和城乡建设局的网站

aspnet网站开发,太原市住房和城乡建设局的网站,天津网站设计成功柚米,银川做网站多少钱一、题目 现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。 二、思路解析 首先,让我们列出我们需要做的事情&…

一、题目

现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。

二、思路解析

首先,让我们列出我们需要做的事情:

  1. 遍历整个链表;
  2. 对于值小于x的节点,把它们暂时存储起来,并从原链表中删除「删除是为了等下重新插入的时候,不造成元素重复的情况」;
  3. 最后,我们要把这些节点重新插入到链表的头部。

Sounds simple, right? 

Step 1: 选择好用什么结构来存储值小于 x 的元素

这里我采用的是题解区中一位大佬的解法,他是用栈来存储那些待会要头插于链表的、值小于 x 的元素的。

我们首先定义一个栈来存储所有小于x的节点的值。

如果你对栈不熟悉,没关系,想象一下你在吃饭时堆放碗筷的样子,最后放上去的碗筷总是最先被取走,栈就是这样工作的。

Step 2: 遍历链表

 遍历过程,如果我们遇到一个值小于x的节点,我们就把它的值压入栈中,并从原链表中删除这个节点。

如何删除节点,只需要把它前面节点的 next 指针指向它的下一个节点即可。

Step 3: 把栈中元素用头插法,插入链表

在我们遍历完链表后,所有小于x的节点都已经被保存在了栈中,而由于栈的先进后出特性,我们可以保证最早被删除的节点最后被添加回链表。

因此,我们从栈顶开始,每次弹出一个节点,然后创建一个新的节点,并将其添加到链表的头部。这样,我们就可以保证节点的原始顺序被保持。

这就是这道题的完整解题思路啦,下面请看完整代码~

三、完整代码

import java.util.*;/*
public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}*/public class Partition {public ListNode partition(ListNode pHead, int x) {// write code hereif(pHead == null){return null;}Stack<Integer> stack = new Stack<>();ListNode cur = pHead;ListNode prev = null;while(cur != null){if(cur.val < x){stack.add(cur.val);if(cur == pHead){pHead = pHead.next;cur = pHead;}else{cur = cur.next;prev.next = cur;}}else{prev = cur;cur = cur.next;}}while(!stack.isEmpty()){ListNode newNode = new ListNode(stack.pop());newNode.next = pHead;pHead = newNode;}return pHead;}
}

以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!

http://www.yayakq.cn/news/640027/

相关文章:

  • 什么样的网站是一个成功的网站制作网站怎样找公司来帮做
  • 模板建站公司目录更新 wordpress
  • 有域名后怎样做网站动态电子商务网站建设报告
  • 厦门网站建设公司推荐网站制作模板百度网盘
  • 大良网站建设价位国外网页设计欣赏网站
  • 企业网站建设需了解什么自助手机网站
  • 域名申请而完成以后怎么做网站阿里云服务器怎么发布网站
  • 德州网站制作蚂蚁币是什么网站建设
  • 杭州网站优化咨询江苏做网站找谁
  • 网络公司网站源码 网络建设工作室网站模板 织梦广告设计公司源码企业画册封面设计
  • 全国建筑人才求职招聘网站做百度推广代运营有用吗
  • 上海外贸服装青海网站建设优化
  • 兰州市住房和城乡建设局网站wordpress伪静态apache
  • 网站幻灯片效果红包app开发软件
  • 要建设一个网站需要什么手续做网站一般会出现的问题
  • 建网站赚钱方法公司网站想自己做
  • 杭州网站建设找思创做ppt一般在什么网站好
  • 在百度怎么创建自己的网站做弹幕视频效果的网站
  • 肥西做网站网站推广优化怎样
  • 网页设计实验报告精品课程网站加工制造网
  • 太仓网站公司网络营销专业信息
  • qq轻聊版下载海外网站seo
  • 龙华网站建设设计北京网站开发哪家好薇
  • 网站设计参考肥西网站推广公司
  • 苏州规划建设局网站阿里云域名申请
  • 比较有趣的网站做企业展示网站需要多少钱
  • 百度建立企业网站建设的目的公司做自己的网站平台台
  • 个人网站布局下载襄阳seo公司
  • 源码建站之网站建设wordpress+相亲主题
  • 百度seo简爱无锡网站排名优化报价