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

网站建设运动会成绩管理系统建筑网片多少钱一平方

网站建设运动会成绩管理系统,建筑网片多少钱一平方,阿里云空间部署网站,企业网站制作流程题目类型 链表反转、栈 题目描述 * 题目: * 给你两个非空链表来表示两个非负整数,数字最高位位于链表的开始位置。 * 它们的每个节点都只存储一个数字。将这两个数相加会返回一个新的链表。 * 你可以假设除了数字0外,这两个数字都不会以0开头…

题目类型

链表反转、栈

题目描述

* 题目:
* 给你两个非空链表来表示两个非负整数,数字最高位位于链表的开始位置。
* 它们的每个节点都只存储一个数字。将这两个数相加会返回一个新的链表。
* 你可以假设除了数字0外,这两个数字都不会以0开头

示例

输入:6 --> 1 -->7    和   2 --> 9 -->5

输出: 9 --> 1 --> 2

实现方式

反转链表

栈实现 

思路

        先将两个链表的元素分别压栈,然后再一起出栈,将两个结果分别计算。之后对计算的结果取模,模数保存到新的链表中,进位保存到下一轮,完成之后再进行一次反转就行了

事项

我们知道在链表插入有头插法和尾插法两种。头插法就是每次都将新的结点插到head之前。而尾插法就是将新结点都插入到链表的表尾。两者的区别是尾插法的顺序与原始链表是一致的,而头插法与原始链表是逆序的,所以上面最后步如果不想进行反转,可以将新结点以头插法 

代码实现 
    /***  使用栈实现两数相加* @param head1 第一个链表头节点* @param head2 第二个链表头节点* @return 相加后的到的链表头节点*/public Node andTwoSingleListByStack(Node head1 , Node head2){Stack<Node> stack1 = new Stack<>();Stack<Node> stack2 = new Stack<>();//  将链表节点数据入栈while (head1 != null){stack1.push(head1);head1 = head1.next;}while (head2 != null){stack2.push(head2);head2 = head2.next;}// 构造虚拟节点Node dummyNode = new Node(0);// carry 用于标识是否有进位int carry = 0;while (!stack1.empty() || !stack2.empty() || carry != 0){// 使用两个链表来存储栈中的数据Node a = new Node(0);Node b = new Node(0);if (!stack1.empty()){a = stack1.pop();}if (! stack2.empty()){b = stack2.pop();}int sum = a.data + b.data + carry;int ans = sum % 10;carry = sum / 10;Node cur = new Node(ans);cur.next = dummyNode.next;dummyNode.next = cur;}return dummyNode.next;}

链表反转实现

思路

先将两个链表分别反转,最后计算完之后再将结果反转,一共有三次反转操作

代码实现
    public Node addTwoSingleListByReverseList(Node head1 , Node head2){// 反转链表,将低位放在表头,高位放在表尾head1 = reverseList(head1);head2 = reverseList(head2);// 定义虚拟节点Node dummyNode = new Node(0);Node cur = dummyNode;int carry = 0;while (head1 != null || head2 != null){int val = carry;if (head1 != null){val += head1.data;head1 = head1.next;}if (head2 != null){val += head2.data;head2 = head2.next;}int ans = val % 10;carry = val / 10;cur.next = new Node(ans);cur = cur.next;}if (carry > 0 ){cur.next = new Node(carry);}return reverseList(dummyNode.next);}private Node reverseList(Node head){Node pre = null;Node cur = head;while (cur != null){Node next = cur.next;// 发生关系cur.next = pre;pre = cur;cur = next;}return pre;}
 
http://www.yayakq.cn/news/115016/

相关文章:

  • 花桥网站制作用html5做网站的优点
  • 甘肃网站设计公司连云港集团网站建设
  • 怎么做网站免费的教程聊城网站推广
  • 卓越高职院建设网站做一个php连接sql网站
  • 网站淘宝推广怎么做在线视频网站开发
  • 做网站用什么软件最好wordpress文章页样式
  • wordpress 获取标题网站常用的优化方法有哪些
  • 陕西住房建设厅官方网站英文网站怎么做301跳转
  • 网站ip地址向谁购买做外贸网站流程图
  • 做网站邢台百度加盟
  • 高大上的公司网站网站基础开发成本
  • 网站项目建设所需成本如何做好网络营销
  • 网络营销试卷优化营商环境心得体会1000字
  • 网站登录不上北京网站建设 标准型 新翼
  • 网站开发接入本地天地图丰富网站内容
  • 南京产品网站建设收费安徽建设局网站
  • 百度关键词快速排名方法深圳短视频seo教程
  • 枣庄市建设项目环评备案网站店面logo设计制作
  • 在线教学视频网站建设安徽省建设工程信息网站进不了
  • 什么是响应式设计衡水seo网站建设优化排名
  • 专业做网站的团队推荐购物网站建设 优帮云
  • 社交网站的优点和缺点做网站需要哪些资质
  • 怎样建设团学组织微信网站招商建设工程有限公司网站
  • 济南网站优化公司排名两学一做专题网站
  • 企业建设网站的好处有哪些做网站fjfzwl
  • 电子商务网站建设课后答案邯郸市商标设计品牌策划公司
  • 400电话网站源码罗庄区住房和城乡建设局网站
  • jsp 做网站需要什么软件重庆建设网站的公司哪家好
  • 甜品网站首页设计盘搜搜
  • 想要学做网站需要什么高校网站建设意义