1、逆置一个单链表。(2020年阿里巴巴二面原题)
2、判断单链表是否是回文结构。(2019年字节跳动二面原题)
3、删除一个有序单链表中的重复节点。(2019年字节跳动二面原题)
4、复杂链表的复制。(2020年百度二面原题)
分类:
其他好文 时间:
2020-06-01 20:36:25
阅读次数:
62
Description Given a singly linked list, determine if it is a palindrome. Example 1: Example 2: Follow up: Could you do it in O(n) time and O(1) space? ...
分类:
其他好文 时间:
2020-05-10 15:24:52
阅读次数:
77
1.复制额外的空间,然后头插法 2.原地逆置,本质上是将指针反转达到逆置的效果。 假设pre、p和r指向3个相邻的结点,如上图。*pre之前的结点的指针都已经调整完毕,它们的next指针都指向其原前驱结点。 现在令*p结点的next域指向*pre结点,注意到一旦调整指针的指向后,*p的后继结点的链就 ...
分类:
其他好文 时间:
2020-05-09 16:58:43
阅读次数:
47
思路 不用其他数据结构,用递归实现原地逆置 需要设计两个递归函数: + 递归函数1:将栈底元素返回并且移除 + 递归函数2:使用到函数1的reverse方法 代码 执行流程分析 + getAndRemoveLastElement函数执行流程 首先从栈顶到栈尾,元素分别是1,2,3.对于getAndR ...
分类:
其他好文 时间:
2020-04-26 01:43:48
阅读次数:
60
LinkList.h #pragma once #include<iostream> using namespace std; class LNode { public: int data; LNode* next; }; class LinkList { public: LNode* first; ...
分类:
其他好文 时间:
2020-04-04 11:31:50
阅读次数:
59
题目链接:6-1 单链表逆转 (20分) 方式一:递归逆置单链表 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 #include <string.h> 5 #include <ctype.h> 6 7 #define ...
分类:
其他好文 时间:
2020-03-28 09:13:17
阅读次数:
286
题目: 设有一个线性表 (e0, e1, …, en-2, en-1) 存放在一个一维数组A[arraySize]中的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原址内容置换为 (en-1, en-2, …, e1, e0)。 Array.h #pragma once # ...
分类:
编程语言 时间:
2020-03-15 11:50:19
阅读次数:
86
设将n(n>1)个整数存放到一位数组R中,设计一个算法,将R中的序列循环左移P(0<P<n)个位置,即将R中数据由{X0,X1,....,Xp-1}变换为{Xp,Xp+1,...,Xn-1,X0,X1,...,Xp-1} 要实现R中序列循环左移P个位置,只需先将前P个元素逆置,再将剩下的元素逆置,最 ...
分类:
其他好文 时间:
2020-02-03 18:47:01
阅读次数:
79
面试题24:反转链表 题目描述 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点 链表结构 问题分析 头插法是反转链表非常经典的一种手段,这里演示一下吧,毕竟这个在JDK源码中也能遇见。 核心代码如下: 这些图示来自我这篇文章的 "单链表逆置:头插法图解" ,实现方面是用C语言 ...
分类:
其他好文 时间:
2020-01-31 20:52:20
阅读次数:
74
输入一个链表,按链表从尾到头的顺序返回一个ArrayList 遇到这种逆置的问题,一般使用栈的先进后出的特性 public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ...
分类:
其他好文 时间:
2020-01-22 23:42:14
阅读次数:
71