Leetcode206 翻转链表 1、需求 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 2、解题思路 使用三个指针,pre指向翻转以后的头结点, curr指向为反转列表的头结点, next指向curr的下一个节点 三个节点 ...
分类:
其他好文 时间:
2021-03-16 13:47:10
阅读次数:
0
输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), n ...
分类:
其他好文 时间:
2021-03-16 13:39:17
阅读次数:
0
DP相关目录 几个基本 重要的划分依据: “最后”一步 集合划分依据:1. 不重复 2. 不漏 思考方式如下图: 基本模型 数字三角形模型 最长上升子序列模型 背包模型 状态机模型 状态压缩DP 区间DP 树形DP 数位DP 单调队列优化DP 斜率优化DP ...
分类:
其他好文 时间:
2021-03-16 11:58:24
阅读次数:
0
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 class Solution: def removeElements(self, head: ListNode, val: int) -> ListNode: ...
分类:
其他好文 时间:
2021-03-16 11:53:35
阅读次数:
0
void flatten(TreeNode root) { // base case,即最小 if (root == null) return; flatten(root.left); flatten(root.right); /**** 后序遍历 ****/ // 1、保存原来的左右节点,避免变换 ...
分类:
其他好文 时间:
2021-03-16 11:50:33
阅读次数:
0
什么是LFU LFU Least frequently used, 基于访问的频次和时间来淘汰数据。比如缓存满了,使用LFU算法,可以淘汰掉访问频次最少且访问时间靠后的元素。 leetcode也有相应的题目,只要实现Get, Put接口即可。 本文除了实现Get, Put, 还实现了GetItera ...
分类:
编程语言 时间:
2021-03-15 11:36:50
阅读次数:
0
#include <stdio.h>#include <stdlib.h>typedef struct node { int number; struct node * next;}person;person * initLink(int n) { int i = 0; person * head ...
分类:
其他好文 时间:
2021-03-15 11:31:33
阅读次数:
0
一、什么是进程 程序:例如xxx.py这是程序,是一个静态的 进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。 不仅可以通过线程完成多任务,进程也是可以的 进程的状态 工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执 ...
分类:
编程语言 时间:
2021-03-15 11:19:10
阅读次数:
0
题意 要让链表里的所有负数的结点排在非负数的前面,以及让所有的[0, K]的数字放在(k, ∞)的前面,而且要保持相对顺序不变。保证链表不为空 思路 依次遍历链表的每个结点进行标记,第一趟取出负数,第二趟取出[0, K]内的数字,第三趟取出剩下没有取的数字,标记的方式是令data = 100010, ...
分类:
其他好文 时间:
2021-03-15 10:43:58
阅读次数:
0
Reverse Linked List II 反转链表 Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list ...
分类:
编程语言 时间:
2021-03-10 13:27:14
阅读次数:
0