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

怎么做关注网站网页设计代码li

怎么做关注网站,网页设计代码li,太原百度seo排名,唯尚广告联盟目录 题目:链表相加(二)_牛客题霸_牛客网 (nowcoder.com) 题目的接口: 解题思路: 代码: 过啦!!! 题目:单链表的排序_牛客题霸_牛客网 (nowcoder.com) 题目的接口:…

目录

题目:链表相加(二)_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

解题思路:

代码:

过啦!!!

题目:单链表的排序_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

解题思路:

代码:

过啦!!!

写在最后:


题目:链表相加(二)_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

package main
import . "nc_tools"
/** type ListNode struct{*   Val int*   Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param head1 ListNode类 * @param head2 ListNode类 * @return ListNode类
*/
func addInList( head1 *ListNode ,  head2 *ListNode ) *ListNode {// write code here
}

解题思路:

这道题我一开始想了不少方法,,在想怎么用 O(N) 的算法做,但是死来想去,大多方法都比较麻烦,最后就选择了一个代码比较好编写的方法,

思路如下:先把两个链表反转,这样就能进行相加的逻辑了,然后再依次相加即可,虽然遍历了三遍,但还是一个 O(N) 的算法:

代码:

package main
import . "nc_tools"
/** type ListNode struct{*   Val int*   Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param head1 ListNode类 * @param head2 ListNode类 * @return ListNode类
*/
func addInList( head1 *ListNode ,  head2 *ListNode ) *ListNode {head1 = reverse(head1)head2 = reverse(head2)var res *ListNodevar carry intfor head1 != nil || head2 != nil || carry > 0 {var sum intif head1 != nil {sum += head1.Valhead1 = head1.Next}if head2 != nil {sum += head2.Valhead2 = head2.Next}res = &ListNode{Val: (sum + carry)%10,Next: res,}carry = (sum + carry)/10}return res
}func reverse(head *ListNode) *ListNode {var next *ListNodevar prev *ListNodefor head != nil {next = head.Nexthead.Next = prevprev = headhead = next}return prev
}

过啦!!!

题目:单链表的排序_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

package main
import . "nc_tools"
/** type ListNode struct{*   Val int*   Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param head ListNode类 the head node* @return ListNode类
*/
func sortInList( head *ListNode ) *ListNode {// write code here
}

解题思路:

怎么说呢,这道题我是直接链表转数组,再数组排序转回链表,实际上是有两种其他的方法的,一个是用归并排序来做,但是我实际上不太会归并啦,

另一种就是不调库,自己实现一份快排或者其他 nlogn 的排序,这个面试的时候看面试官怎么想吧,反正我现在是偷懒调库了~

代码:

package mainimport . "nc_tools"
import "sort"/** type ListNode struct{*   Val int*   Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param head ListNode类 the head node* @return ListNode类*/
func sortInList( head *ListNode ) *ListNode {cur := headnum := []int{}for cur != nil {num = append(num, cur.Val)cur = cur.Next}sort.Ints(num)cur = headi := 0for cur != nil {cur.Val = num[i]cur = cur.Nexti++}return head
}

过啦!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

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

相关文章:

  • 定制建设网站网络规划设计师论文方向
  • 给菠菜网站做支付免费架设网站
  • 做钢丝绳外贸的网站自助建站免费永久
  • 广州建设品牌网站哈尔滨工程招投标信息网
  • 自己做网站空间伊宁网站建设优化
  • 如何在电网网站做备案零基础建设网站视频
  • 公司网站建设管理意见wordpress美容养生
  • 新网个人网站备案网络推广宣传
  • 企业自己怎么制作网站首页wordpress屏蔽谷歌
  • 惠州悦商做网站百事通做网站
  • 工具磨床东莞网站建设河南鑫安胜通建设有限公司网站
  • 网站运营怎样做seo关键词排名优化怎么样
  • 网站做系统叫什么名字吗同ip网站做友链
  • 网站建设服务费计入会计科目网站建站平台 开源
  • 秦皇岛专业做网站怎么做网页长图
  • 免费制作广州网站阿里云如何注册域名
  • 简速做网站怎么做网页中间部分
  • 静态企业网站模板网站上线后所要做的事情
  • wordpress主题详细安装流程优化教程网
  • wordpress建站案例视频教程淘宝运营
  • 网站一般怎么维护做房产应看的网站
  • 五十一团 黑龙江生产建设兵团知青网站wordpress可视化编辑在那里
  • 怎样设置个人网站新手学做网站学要做哪些
  • 网站的建设与维护就业方向中建国际建设有限公司官网是央企吗
  • 网站开发人员工资公司网络营销策略
  • 水利建设工程网站wordpress建站欣赏
  • 腾讯云服务器做网站可以吗企业网站建站技术
  • 波纹工作室 网站网站投放广告怎么做
  • 郑州php网站建设wordpress首页刷新
  • 创意网站模板下载做网站和做软件哪个难