题目1:
思路: 定义一个计数器和标记符 , 遍历数组,记录比较即可
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()){
int n = sc.nextInt();
int [] array = new int [n];
for (int i = 0; i <n ; i++) {
array[i] = sc.nextInt();
}
int sorted = 0; // 递增 1 递减 -1 0不增不减
int count = 1 ;
for (int i = 1; i <n ; i++) {
if (array[i-1]<array[i]){
if (sorted == 0) {
sorted = 1;
}
if (sorted == -1) {
sorted = 0;
count ++ ;
}
}else if (array[i-1]>array[i]){
if (sorted ==0 ) {
sorted = -1;
}
if (sorted == 1) {
sorted = 0;
count ++;
}
}
}
System.out.println(count);
}
sc.close();
}
}
题目2:
import java.util.LinkedList;
import java.util.Scanner;
public class Main7 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
LinkedList<Character> list = new LinkedList<>();
for(int i = s.length()-1;i>=0;i--){
if (s.charAt(i)!=' '){
char ch = s.charAt(i);
list.add(ch);
continue;
}
String str = "";
while (list.size()>0){
str += list.removeLast();
}
System.out.print(str+" ");
}
String str = "" ;
while (list.size()>0){
str += list.removeLast();
}
System.out.print(str);
}
}