用两个指针就行,一个指针i初始时指向头元素,另一个j指向下标为1的元素(所以说,当长度为1时单独判断,长度为1就返回1) 之后,如果i下标的元素等于j下标的元素,j++,假如到了i和j代表的元素不等时,说明i,j中间这些都是重复元素,都是等于nums[i]的元素,此时,nums[i+1]=nums[ ...
分类:
编程语言 时间:
2020-05-04 14:59:43
阅读次数:
59
题目: 解答: 方法一:分割+解析,两次遍历,线性空间。 第一个想法是将两个字符串按点字符分割成块,然后逐个比较这些块。 如果两个版本号的块数相同,则可以有效工作。如果不同,则需要在较短字符串末尾补充相应的 .0 块数使得块数相同。 算法: (1)根据点分割两个字符串将分割的结果存储到数组中。(2) ...
分类:
其他好文 时间:
2020-05-04 13:36:04
阅读次数:
52
一、本章学习小结:第四章主要学习了串、数组和广义表,与以前学习的区别在于,本章将它们视为线性表。 1)串是内容受限的线性表,考虑到存储效率和算法方便性,一般采用顺序存储结构;考虑到串变量相差较大,可采用动态分配的方法;为了便于操作,可增设尾指针。 串的主要应用场景是模式匹配,其中有BF算法和KMP算 ...
分类:
其他好文 时间:
2020-05-04 12:59:26
阅读次数:
68
1. List 容器的基本概念 1. list 是一个双向链表容器,可高效的进行插入删除元素,他的原理在于每个元素都有两个指针来记录前后两个元素的地址,像火车车厢一样,list 中各个元素在物理存储单元上非连续,是通过指针相连在一起的。 2. 相较于vector的连续线性空间,list会显得复杂许多 ...
分类:
其他好文 时间:
2020-05-04 00:52:48
阅读次数:
52
1 指针 2 结构体 3 方法 4 接口入门 补充 1 链式调用 ...
分类:
其他好文 时间:
2020-05-04 00:49:47
阅读次数:
64
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子 结点,同时包含指向父结点的指针。 解题思路 ...
分类:
其他好文 时间:
2020-05-04 00:31:00
阅读次数:
46
自我们开始学习C语言中的指针,老师就说返回函数局部变量的地址是没有意义的,因为函数调用完毕,系统回收函数中用到各种资源,函数栈顶指针向高位地址移动。指针指向的内容已经被释放,返回的指针会指向不可预料的内容。 我们可以从C程序的内存布局讲起(详细内容,请查看超链接内容,本片文章只会讲解与本篇文章相关的 ...
分类:
编程语言 时间:
2020-05-03 23:07:55
阅读次数:
142
题目: 解答: 方法一:暴力法 算法: 对于给定字符串中的每个索 i,让我们删除该字符,然后检查结果字符串是否是回文。如果是(或者原始字符串是回文),那么我们将返回 true。 方法二:双指针 最重要一点:只能去掉一个字符1、左指针从第0位开始,右指针从最后一位开始2、定义一个bool容器,用于限定 ...
分类:
其他好文 时间:
2020-05-03 21:46:29
阅读次数:
87
题目: 有序链表转换二叉搜索树:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 思路: 看到二叉树要想到用递归的思想,为了找到根节点,使用双指针法,快指针是慢指针速度的二倍,快指针到 ...
分类:
编程语言 时间:
2020-05-03 21:42:05
阅读次数:
94
面向对象oop 面向对象, 是基于对象的概念, 以对象为中心, 以类和继承为构造机制, 来刻画客观世界, 模拟现实. 对象是由数据和容许的操作组成的封装体, 与客观实体有直接的对应关系 面向对象不是某一种语言的特性, 而不是一种编程思想 面向对象首先考虑数据, 不仅考虑如何表示这些数据, 还要考虑如 ...
分类:
编程语言 时间:
2020-05-03 20:55:09
阅读次数:
96