Given a singly linked list, determine if it is a palindrome.Follow up:Could you do it in O(n) time and O(1) space?回文链表即原链表与逆置链表相同,采用辅助栈的特点将链表逆置。(知道链表长...
分类:
其他好文 时间:
2015-08-04 13:09:21
阅读次数:
188
例一:将顺序表La=(a1,a2,a3,…..an)逆置。
解:要想将La逆置,只需要将第一个元素与最后一个交换,第二个和倒数第二个交换,以此类推,直到没有元素发生交换。算法描述如下:void contrary_Sq(SqList &la){
int temp;
for(i=0;i<La.length/2;i++){
temp=La.elem[i];...
分类:
其他好文 时间:
2015-08-01 01:12:42
阅读次数:
220
1. 问题描述 从右侧旋转一个n个元素的数组,旋转k位。例如:n=7,k=3n = 7, k=3, arr=[1,2,3,4,5,6,7]arr=[1,2,3,4,5,6,7]旋转成为arr=[5,6,7,1,2,3,4]arr=[5,6,7,1,2,3,4]。2. 方法与思路 其实这个问题类似于字符串逆置问题中的句子逆置。比如“hello world”逆置成”world hello”。解决这种...
分类:
编程语言 时间:
2015-07-25 12:25:28
阅读次数:
163
Java版链表逆置
定义数据结构:
/**
* 链表的数据结构
*/
class LinkedListArray {
/**
* value
*/
Object value;
/**
* 下个节点
*/
LinkedListArray next = null;
public void setValue(Ob...
分类:
编程语言 时间:
2015-07-14 13:47:52
阅读次数:
176
用元素交换函数实现数组逆置很简单,如下面代码:(数组左右元素交换)
#include
#include
using namespace std;
void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
int main()
{
int a[5] = { 1, 2, 3, 4, 5 };
int lenth = sizeo...
分类:
编程语言 时间:
2015-07-05 16:45:10
阅读次数:
189
法一:list_node*list_reverse(list_node*head){list_node*p=head->next;list_node*q=NULL;head->next=NULL;while(p!=NULL){q=p->next;/*保存下一个节点*/p->next=head->ne...
分类:
编程语言 时间:
2015-06-30 07:45:19
阅读次数:
268
实现双向链表的反转。参考下面的例图:
(a) 原始双向链表
(b) 已经反转的双向链表
下面是一个用于反转双向链表的简单方法。所需要做的事情就是交换每个节点的前向指针和后向指针,然后调整链表的头指针和尾指针。...
分类:
其他好文 时间:
2015-06-14 01:53:25
阅读次数:
312
No.29 Divide Two IntegersReverse digits of an integer.Example1:x = 123, return 321Example2:x = -123, return -321反转数字:将对10整除和取余的结果逆置即可难点即细节:溢出。符号疑问:溢出的...
分类:
其他好文 时间:
2015-05-28 21:28:33
阅读次数:
135
函数实现数据的插入(头插&&尾插)、删除(头删&&尾删)、查找、按值插入、按值删除、求长、单链表清除、单链表摧毁、数据的逆置以及数据排序
main函数
#include"List.h"//单链表
void main()
{
List mylist;
int select = 1;
int Item;
while(select)
{
cout<<"*******...
分类:
编程语言 时间:
2015-05-25 16:40:05
阅读次数:
258