剑指offer刷题 - day04
JZ35 复杂链表的复制 刚开始我的思路是从头节点开始遍历,遍历过程中新建一个新的节点,如果原节点有 Random 指针,那么就新节点的 Random 指向原节点的 Random。然后原节点的 Next 指向新节点。 然后在遍历一遍新链表,如果节点存在 Random 指针,则使将 Random 指针重新指向原 Random 的 Next 就是新节点,p.Random=p.Random.Next
JZ35 复杂链表的复制 刚开始我的思路是从头节点开始遍历,遍历过程中新建一个新的节点,如果原节点有 Random 指针,那么就新节点的 Random 指向原节点的 Random。然后原节点的 Next 指向新节点。 然后在遍历一遍新链表,如果节点存在 Random 指针,则使将 Random 指针重新指向原 Random 的 Next 就是新节点,p.Random=p.Random.Next
1. 运算符分类 算数运算符 比较运算符 逻辑运算符 位运算符 2. 算数运算符 运算符 +、-、*、/、DIV、%、MOD 加 + 减 - 乘 * 除 / 或 DIV 取模 % 或 MOD 数值运算符 + 和 - + 和 - 运算符处理数值运算,当用于其他类型,比如字符串类型,会隐式转换。 SELECT 100+'0', 100+'222', 100+'A', 100+'100a',
JZ23 链表中环的入口结点 我的思路 遍历节点,根据题意节点值范围在 1<=n<=10000 ,将遍历过的节点节点值取反,然后在循环过程中判断节点值是否为负,为负重新取正然后返回该节点。 package main /* type ListNode struct { Val int Next *ListNode } */ func EntryNodeOfLoop
JZ25 合并两个排序的链表 迭代实现 package main import . "nc_tools" /* * type ListNode struct{ * Val int * Next *ListNode * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead1 ListN
学习需要的 SQL 文件:点击下载 1. SQL 分类 DDL 数据定义语言 DML 数据操作语言 DCL 数据控制语言 2. 基本规则 & 规范 每条命令使用 ;、\g 或者 \G 来结束; Windows 系统不区分大小写,Linux 系统区分大小写; 数据库名、表名、字段名等使用小写; 关键字、函数名等使用大写; 3. 注释 a. 单行注释(写法一) 使用 # 注释 #我是单
1.关系 数组、切片和字符串有着密切的关系。切片和字符串的底层都是基于数组实现的。 2.数组 定义 固定长度的相同数据类型的元素组成的; 长度是数组类型的组成部分,比如 [3]int 和 [5]int 不是相同的数据类型; 长度不同,其对应的指针类型也不同; Go 语言中数组是值语义。一个数组变量即表示整个数组,它并不是隐式的指向第一个元素的指针(比如 C 语言的数组),而是一