反转链表-输入一个链表,反转链表后,输出链表的所有元素。

 1 /*
 2 struct ListNode {
 3     int val;
 4     struct ListNode *next;
 5     ListNode(int x) :
 6             val(x), next(NULL) {
 7     }
 8 };*/
 9 class Solution {
10 public:
11     ListNode* ReverseList(ListNode* pHead) {
12         ListNode* res=NULL;
13         ListNode* pre=NULL;
14         if(pHead==NULL) return res;
15         while(pHead!=NULL){
16             pre=pHead->next;
17             pHead->next=res;
18             res=pHead;
19             pHead=pre;
20         }
21         return res;
22
23     }
24 };
时间: 2024-10-07 05:31:52

反转链表-输入一个链表,反转链表后,输出链表的所有元素。的相关文章

27、输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 思路:同归并算法 本题: 1 public class Solution { 2 public ListNode Merge(ListNode list1, ListNode list2) { 3 ListNode head; 4 if (list1 == null) { 5 return list2; 6 } 7 if (list2 == null) { 8 return list1; 9 } 10

用指针??输入一个数组,逆序输出该数组

/* *Copyright(c) 2014 烟台大学计算机学院 *All rights reserved. * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:杨汉宁 * 完成日期:2014年 12 月 11 日 * 版 本 号:v1.0 * * 问题描述:输入一个数组,逆序输出该数组 * 输入描述:输入一个数组 * 程序输出:逆序输出该数组 */ #include <iostream> us

输入一个整数矩阵,计算位于矩阵边缘的元素之和

输入一个整数矩阵,计算位于矩阵边缘的元素之和.所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素. 源代码: #include<stdio.h> #include<stdlib.h> int main() { int m,n;//矩阵的长和宽 int sum = 0; printf("输入矩阵的长和宽\n"); scanf("%d%d",&m,&n); int a[m][n];//存储矩阵的值 //为矩阵

【c语言】有一函数:x &lt; 0 ,y = -1;x = 0,y = 0;x &gt; 0,y = 1,编程输入一个x值,要求输出对应的y

// 有一函数:x < 0 ,y = -1;x = 0,y = 0;x > 0,y = 1,编程输入一个x值,要求输出对应的y #include <stdio.h> int main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x > 0) y = 1; else if(x < 0) y = -1; else y = 0; printf("对应的y值是:%d\

matlab_exercise(2)----输入一个三位数,依次输出其个位数字,十位数字,百位数字

第一次作业--第二题 输入一个三位数,依次输出其个位数字,十位数字,百位数字. 1 %第二题 2 %注意:将文件命名为math_2018_4_02_01.m 3 %先判断输入的是不是三位数 4 shuru ='请输入一个三位数'; 5 x=input(shuru) 6 7 if x>100&&x<=999; 8 alert=warndlg('输入正确'); 9 b=floor(x/100) 10 % b=fix(x/100)%向下取整 11 c=fix(mod(x,100)/1

c程序设计 8.8写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出&quot;1_9_9_0&quot;。

#include <stdio.h> //整型的数字1+48=符号数字1,整型的数字2+48=符号数字2... void main(){ int n1; void numToStr(int m); printf("请输入一个四位数字:\n"); scanf("%d",&n1); numToStr(n1); } void numToStr(int m){ int a,b,c,d,i,j; char str[7]; a=m/1000; b=(m-a*

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

新增一个链表,然后分别采用2个指针指向这两个链表,每次比较链表的值,将较小的那一个存入新链表中.需要主要的是对空链表进行处理,主要还是考察代码的鲁棒性.总共2个链表,数组分别是1,3,5,7,和2, 4, 6,8 采用java进行实现. package com.test.algorithm; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class Me

输入一个新的网址后到完全显示页面,浏览器做了哪些工作?

知识要点:浏览器缓存机制,资源下载序,css渲染与js执行顺序 当浏览器第一次请求某个URL时,顺利访问的话,服务器返回状态200的状态,同时会返回给浏览器一些Headers集合,例如set-cookie,Last-Mondified,Etag等等下面重点说明Last-Mondified与Etag,即浏览器缓存. HTTP/1.x 200 OKDate:Mon, 05 Jan 2015 15:32:11 GMT ETag:"1815c-0-451b46c0" Expires:Thu,0

输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

public class shuzujiaohuan { public static void main(String[] args) {  // TODO 自动生成的方法存根  Scanner reader=new Scanner(System.in);  int[] a=new int[10];  for(int i=0;i<a.length;i++){   System.out.print("请输入"+a.length+"个数字,当前第"+(i+1)+&