![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
wanganyu1996
这个作者很懒,什么都没留下…
展开
-
数组和链表的区别
数组静态分配内存,链表动态分配内存;数组在内存中连续,链表不连续;数组元素在栈区,链表元素在堆区;数组利用下标定位,时间复杂度O(1),链表定位元素时间复杂度O(n);数组插入和删除的时间复杂度O(n),链表的时间复杂度O(1)。原创 2017-04-25 18:43:08 · 232 阅读 · 0 评论 -
数组和链表的区别
数组静态分配内存,链表动态分配内存;数组在内存中连续,链表不连续;数组元素在栈区,链表元素在堆区;数组利用下标定位,时间复杂度O(1),链表定位元素时间复杂度O(n);数组插入和删除的时间复杂度O(n),链表的时间复杂度O(1)。原创 2017-04-25 18:42:29 · 214 阅读 · 0 评论 -
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * public class TreeNode { * int val;原创 2017-04-15 19:47:44 · 1051 阅读 · 0 评论 -
输入一个链表,从尾到头打印链表每个节点的值。
/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.*;pub原创 2017-04-15 12:22:46 · 282 阅读 · 0 评论 -
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public class Solution { public String replaceSpace(StringBuffer str) { //从后往前,先确定字符串的长度和替换后的长度 int len=str.length(); int count=0; for(int i=0;i if(s原创 2017-04-14 22:53:33 · 2533 阅读 · 0 评论 -
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { public boolean Find(int target, int [][] array) { int row=array.length-1原创 2017-04-14 20:11:56 · 358 阅读 · 0 评论 -
题目描述 Given n points on a 2D plane, find the maximum number of points that lie on the same straight
import java.util.*;public class Solution { public int maxPoints(Point[] points) { if(points.length return points.length; int flag=0; for(int i=0;i原创 2017-04-14 16:27:18 · 915 阅读 · 0 评论 -
快排java实现
public class Sort {public static void main(String[] args) { int a[]={1,4,54,6,76,87,889,6,87,5};partition(a, 0, 9); for(int i=0;i System.out.println(a[i]); }} public static void part原创 2017-04-18 20:30:51 · 446 阅读 · 0 评论 -
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
import java.util.*;import java.util.Stack;public class Solution { Stack stack1 = new Stack(); Stack stack2 = new Stack(); public void push(int node) { stack1.push原创 2017-04-18 11:50:18 · 306 阅读 · 0 评论 -
Java实现链表的插入,删除,排序,输出
//链表的数据结构:package test; class Node { Node next=null; int data; public Node(int data){ this.data=data; }}//链表操作 的实现:package test;import com.oj.Main1;原创 2017-04-01 19:28:51 · 525 阅读 · 0 评论 -
密码验证合格程序
密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串输入描述:一组或多组长度超过2的子符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG输入例子:021Abc9000021Abc9Abc1021ABC900002原创 2017-02-27 17:41:46 · 194 阅读 · 0 评论 -
希尔排序的实现
直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 设数组为a[0…n-1]。1. 初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=12. 将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。3.转载 2017-06-20 18:29:49 · 245 阅读 · 0 评论