反转链表go语言手撕(Goland上编写)

2023-10-26

在Goland上手写反转链表,并且写出例子运行一下。好久没写力扣,有点手生了,面试官说,如果我好久没写这个,就最好不要在简历上写,他说他是希望我能够手撕算法的。

算是积累经验了。。

package main

import "fmt"

type ListNode struct {
	Val  int
	Next *ListNode
}

func reverseList(head *ListNode) *ListNode {
	var before *ListNode
	var now *ListNode
	now = head
	for now != nil {
		next := now.Next
		now.Next = before
		before = now
		now = next
	}
	return before
}

func printList(head *ListNode) {
	cur := head
	for cur != nil {
		fmt.Printf("%d ", cur.Val)
		cur = cur.Next
	}
	fmt.Println("")
}

func main() {
	a := &ListNode{Val: 1}
	b := &ListNode{Val: 2}
	c := &ListNode{Val: 3}
	d := &ListNode{Val: 4}
	e := &ListNode{Val: 5}
	a.Next = b
	b.Next = c
	c.Next = d
	d.Next = e
	e.Next = nil
	printList(a)

	x := reverseList(a)
	printList(x)

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

反转链表go语言手撕(Goland上编写) 的相关文章

  • go 进阶 gin实战相关: 五. gin_scaffold 企业脚手架

    目录 一 gin scaffold 企业级脚手架 二 gin scaffold 脚手架安装及使用演示 文件分层解释 开始使用 1 配置开启go mod 功能 2 下载 安装 gin scaffold 3 整合 golang common 4
  • Go语言包管理(一)

    Go语言中的包 我们在使用其他语言 比如Java Python 都有类似包的概念 Go也不例外 其核心思想即为分组和模块化 人的大脑对庞大和复杂的事情很难掌控 可以对其采用分而治之的策略 使其模块化 从而更容易管理 如下是标准库中net包的
  • Go中 Redis Client的使用

    文章目录 常见操作 List 操作 Pipeline 使用 在 Go 语言中使用 Redis 时 可以使用第三方库实现 Redis Client 的封装 本文介绍如何使用 Go 语言的 redisClient 去连接 Redis 服务器 并
  • Golang 内存对齐视频

    https www bilibili com video BV1Ja4y1i7AF 简而言之 就是注意写代码的时候要把相同类型的元素放在一起 更进一步需要自己将结构体配对为32位或64位的整数倍 有助于减少额外空间消耗
  • 基于Go语言实现简易Web应用

    目录 前言 Go语言特点 写在使用Go语言实现Web应用前面 创建Web服务器 声明一个结构体操作 加入中间件的使用 使用静态文件服务器 最后 前言 在编程语言中 近几年问世的几个新语言都是非常不错的 比如Go Python Rust等等
  • 链表【1】

    文章目录 2 两数相加 1 题目 2 算法原理 3 代码实现 445 两数相加 II
  • 为什么最近听说 Go 岗位很少很难?

    大家好 我是煎鱼 其实这个话题已经躺在我的 TODO 里很久了 近来很多社区的小伙伴都私下来交流 也有在朋友圈看到朋友吐槽 Go 上海的大会没什么人 还不如 Rust 大会 比较尴尬 今天主要是看看为什么 Go 岗位看起来近来很难的样子 也
  • 算法题-简单系列-05-两个链表的第一个公共结点

    文章目录 1 题目 1 1 思路1 循环遍历 1 题目 输入两个无环的单向链表 找出它们的第一个公共结点 如果没有公共节点则返回空 1 1 思路1 循环遍历 使用两个指针N1 N2 一个从链表1的头节点开始遍历 我们记为N1 一个从链表2的
  • go-zero 开发入门-加法客服端示例

    定义 RPC 接口文件 接口文件 add proto 的内容如下 syntax proto3 package add 当 protoc gen go 版本大于 1 4 0 时需加上 go package 否则编译报错 unable to d
  • go-zero开发入门-API服务开发示例

    接口定义 定义 API 接口文件 接口文件 add api 的内容如下 syntax v1 info title API 接口文件示例 desc 演示如何编写 API 接口文件 author 一见 date 2023年12月07日 vers
  • go-zero开发入门之gateway深入研究1

    创建一个 gateway 示例 main go package main import flag fmt gateway middleware github com zeromicro go zero core conf github co
  • 【go语言】error错误机制及自定义错误返回类型

    简介 Go 语言通过内置的 error 接口来处理错误 该接口定义如下 type error interface Error string 这意味着任何实现了 Error 方法的类型都可以作为错误类型 在 Go 中 通常使用 errors
  • 《LeetCode力扣练习》代码随想录——双指针法(反转链表---Java)

    LeetCode力扣练习 代码随想录 双指针法 反转链表 Java 刷题思路来源于 代码随想录 206 反转链表 双指针 Definition for singly linked list public class ListNode int
  • 【go语言】error错误机制及自定义错误返回类型

    简介 Go 语言通过内置的 error 接口来处理错误 该接口定义如下 type error interface Error string 这意味着任何实现了 Error 方法的类型都可以作为错误类型 在 Go 中 通常使用 errors
  • Golang拼接字符串性能对比

    g o l a n g golang g o l an g
  • 这套Go语言开发框架组合真的非常高效

    我尝试过很多框架 从Django Flask和Laravel到NextJS和SvelteKit 到目前为止 这是我唯一可以使用的不会让我感到疯狂或者放弃项目的堆栈 框架 我喜欢所有这些框架 但我只是不太适应它们的设计方式 实际上 我是一个弱
  • 206.翻转链表

    翻转链表 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 备战技术面试 力扣提供海量技术面试资源 帮助你高效提升编程技能 轻松拿下世界 IT 名企 Dream Offer https leetcode cn problems re
  • 链表的中间节点

    链表的中间节点 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 备战技术面试 力扣提供海量技术面试资源 帮助你高效提升编程技能 轻松拿下世界 IT 名企 Dream Offer https leetcode cn problems
  • 单向不带头链表的使用

    单向不带头链表的使用 链表的创建 typedef struct LNode SLDataType data struct LNode next LNode LinkList 按位查找 LNode GetElem LinkList L int
  • 【go语言】读取toml文件

    一 简介 TOML 全称为Tom s Obvious Minimal Language 是一种易读的配置文件格式 旨在成为一个极简的数据序列化语言 TOML的设计原则之一是保持简洁性 易读性 同时提供足够的灵活性以满足各种应用场景 TOML

随机推荐

  • stm32通用定时器用做外部脉冲计数器的例程

    原文 https blog csdn net sdutkqb article details 39100971 最近几天要用到stm32对外部输入脉冲进行计数 很自然想到定时器 可是手上资料没有讲解stm32定时器如何用作外部计数器的 在网
  • 【LeetCode363】矩形区域不超过 K 的最大数值和(前缀和+二分)

    如果暴力枚举的话 确定矩形区域需要两个顶点 时间复杂度就是 m和n最大100 计算量最大为 容易超时 确定一个矩形区域一定要四条边 但我们要确定一个矩形区域是想求出它的和以满足最大的不超过k 而矩形区域的和可以看成是一列一列的和 如果我们把
  • 关于 联想R9000P 中X-Rite Color Assistant 未能恢复为显示器自定义的ICC配置文件的解决办法

    前言 昨天将电脑的D盘中的文件全部删除了 并到C盘中了 第二天电脑开机自启 X R是开机自启的 突然出现 这个 百度搜索下说是什么屏幕更换了 需要联想售后工程师将屏幕的序列号重新写到配置文件中 但是我的电脑屏幕根本没有更换 所以可能出现的原
  • 【C++】实验四 数组

    文章目录 实践题1 实践题2 实践题3 实践题4 实践题5 实践题1 问题描述 编程序 实现如下功能 1 定义两个一维数组x y 不超过50个元素 2 从键盘输入k个整数到数组x中 3 计算x中数据的平均值ave及大于平均值的元素个数n并输
  • float浮动布局

    什么是浮动 当元素被浮动时 会脱离文档流 根据float的值向左或向右移动 直到它的外边界碰到父元素的内边界或另一个浮动元素的外边界为止 是CSS布局中实现左右布局的一种方式 文档流 文档流是元素在Web页面上的一种呈现方式 按照出现的先后
  • springboot整合redisson实现分布式锁

    先点赞后观看 养成好习惯 一 介绍Redisson Redisson是Redis官方推荐的Java版的Redis客户端 Jedis letture也是官方推荐的java版本redis客户端程序 它提供的功能非常多 也非常强大 特别是它默认提
  • ajax无刷下拉框

  • 使用SVM对鸢尾花数据集进行分类

    通过使用GridSearchCV来选取最优的参数 调参后代码 from sklearn svm import SVC from sklearn datasets import load iris import matplotlib pypl
  • 产品经理 demo html,18个UI demo设计实例,深挖让用户愉悦的小惊喜

    文章分享了对话框及模态窗口 注册与登录页面 导航及菜单 滑动条和切换开关等UI设计实例 希望对大家有所启发 CodePen网站已成为开发者的游乐场 那是一个你可以驰骋想象 开发创造的沙盘 里面既有实践的东西 也有实验性的概念 是个激发灵感的
  • 构造函数与普通函数的一些区别

    一 构造函数和普通函数的三个不同点 1 构造函数也是一个普通函数 创建方式与普通函数一样 构造函数习惯上首字母大写 2 构造函数和普通函数的主要区别在于 调用方式不一样 作用也不一样 构造函数用来新建实例对象 3 调用方式不一样 a 普通函
  • zookeeper windows 入门安装和测试

    一 序言 以下是我对zookeeper 的一些理解 zookeeper 作为一个服务注册信息存储的管理工具 好吧 这样说得很抽象 我们举个 栗子 栗子1号 假设我是一家KTV的老板 我同时拥有5家KTV 我肯定得时刻监视我KTV 的情况吧
  • oracle如何insert into 多个values

    oracle如何insert into 多个values 稍微熟悉Oracle的都知道 如果我们想一条SQL语句向表中插入多个值的话 如果如下语句 INSERT INTO 某表 VALUES 各个值 VALUES 各个值 这样会报错的 因为
  • JavaWeb学习笔记(XML语言)

    知识点总结于崔希凡 王泽 广陵散 的JavaWeb视频教程 侵权请联系删除 XML XML 简介 XML的应用 XML常见应用 XML的语法规则 文档声明 元素 标签 定义 属性定义 注释 特殊字符 CDATA区 处理指令 小结 XML约束
  • java 判断能否整除_java编程,键盘输入一个整数,判断能否被5和6整除,再判断能否被5或6整除?...

    展开全部 首先判断能否同时被5和e68a84e8a2ad62616964757a686964616f313333656435666整除 如果不能再单独判断是否能被5或者6整除 import java util Scanner public
  • PostgreSQL 快速上手 安装使用入门

    转载自 http www ruanyifeng com blog 2013 12 getting started with postgresql html 谢谢 PostgreSQL的安装和基本用法 一 安装 首先 安装PostgreSQL
  • Linux 一“文”搞定Shell编程

    又到了毕业季 又得去找实习工作 最近在某直聘软件上找实习工作 看到有许多工作都需要会Shell编程的 然后自己对Shell编程也是一知半解 所以趁着最后还有半个月在校时间 索性学习一下 Shell是一个命令行解释器 它接收应用程序或用户命令
  • salesforce-潜在客户Lead的视图管理

    当我们收集到一些Lead数据之后 我们需要对这些Lead进行跟踪和管理 如何快速找到自己想要的信息呢 如下图 salesforce的默认视图只提供了一些标准字段信息 那么 我们就需要对视图进行自定义了 新建视图 点击页面右上角的设置图标 在
  • numpy 删除指定行和多行

    aa np arange 12 reshape 4 3 gt gt array 0 1 2 3 4 5 6 7 8 9 10 11 删除a中第1行至第2行的数据 np delete a np s 1 3 axis 0 gt gt array
  • Java 实现 HTTP 请求的四种方式,你都学会了么?

    前言 在日常工作和学习中 有很多地方都需要发送HTTP请求 本文以Java为例 总结发送HTTP请求的多种方式 HTTP请求实现过程 GET 创建远程连接 设置连接方式 get post put 设置连接超时时间 设置响应读取时间 发起请求
  • 反转链表go语言手撕(Goland上编写)

    在Goland上手写反转链表 并且写出例子运行一下 好久没写力扣 有点手生了 面试官说 如果我好久没写这个 就最好不要在简历上写 他说他是希望我能够手撕算法的 算是积累经验了 package main import fmt type Lis