
数据结构与算法
文章平均质量分 71
数据结构与算法
安娜和她的笔记本
攀一座山,追一个梦
展开
-
基础篇(四):链表
链表-百度百科手写链表(单链表中结点的定义):public class SinglyListNode { int val; SinglyListNode next; SinglyListNode(int x){val=x;}}在大多数情况下,我们将使用头结点(第一个结点)来表示整个列表。1.哨兵节点哨兵节点是为了简化处理链表边界条件而引入的附加链表节点。哨兵节点通常位于链表的头部,它的值没有任何意义。在一个有哨兵节点的链表中,从第2个节点开始才真正保存有意义的信息。原创 2022-04-07 08:09:17 · 256 阅读 · 0 评论 -
基础篇(三):字符串
1.字符串的基础知识字符串由任意长度(长度可能为0)的字符组成,是编程语言中表示文本的数据类型。Java中用定义的类型String来表示字符串。String类型的常用函数:函数函数功能charAt返回指定下标处的字符compareTo按照字典顺序比较两个字符串equals判断两个字符串的长度和内容是否相同indexOf返回字符串中某个字符或子字符串首次出现的下标位置lastIndexOf返回字符串中某个字符或子字符串最后出现的下标位置leng原创 2022-04-07 08:07:17 · 466 阅读 · 0 评论 -
基础篇(二):数组
数组有两点要注意:数组下标都是从0开始的。数组内存空间的地址是连续的正是因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址(不能直接插入或删除)。双指针双指针一般两类,一类是「快慢指针」,一类是「左右指针」。前者主要解决链表中的问题,比如典型的判定链表中是否有环;后者主要解决数组(或字符串)中的问题,如二分查找。141. 环形链表 - 力扣(LeetCode)142. 环形链表 II - 力扣(LeetCode)704. 二分查找 - 力扣(原创 2022-03-31 19:07:52 · 968 阅读 · 0 评论 -
基础篇(一):位运算
位运算是把数字用二进制形式表示之后,对每位上0或1的运算。1.位运算:位运算只有六种: ~(非)、&(与)、|(或)、^(异或)、<<(左移)和>>(右移)。非运算对整数的二进制按位取反,0取反得1,1取反得0。下面对8位整数进行非运算:~10001010=01110101,~00001010=11110101与、或、异或的运算:与(&)0&0=01&0=00&1=01&1=1或(|原创 2022-03-30 14:53:59 · 1100 阅读 · 0 评论